zoukankan      html  css  js  c++  java
  • 从上向下打印二叉树

     1 import java.util.ArrayList;
     2 import java.util.LinkedList;
     3 import java.util.Queue;
     4 /**
     5 public class TreeNode {
     6     int val = 0;
     7     TreeNode left = null;
     8     TreeNode right = null;
     9 
    10     public TreeNode(int val) {
    11         this.val = val;
    12 
    13     }
    14 
    15 }
    16 */
    17 public class Solution {
    18     public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
    19 
    20         ArrayList<Integer> list = new ArrayList<Integer>();
    21         
    22         Queue<TreeNode> queue = new LinkedList<TreeNode>();
    23         
    24         queue.offer(root); //根结点入queue
    25         
    26         while(root != null){
    27             TreeNode node = queue.poll(); //结点出queue
    28             list.add(node.val);
    29             
    30             //结点的左右孩子入queue
    31             if(root.left != null){
    32                 queue.offer(root.left);
    33             }
    34             if(root.right != null){
    35                 queue.offer(root.right);
    36             }
    37             
    38             root = queue.peek();
    39         }
    40 
    41         return list;
    42     
    43     }
    44 }
  • 相关阅读:
    线性表
    面试题
    进程与线程的区别
    双亲委派模型&动态生成Java类
    springboot优势
    Python3数据结构
    GC算法
    JVM的跨平台特性
    HashMap#put (K key, V value)过程白话文
    java内存模型
  • 原文地址:https://www.cnblogs.com/jiangyi-uestc/p/5892905.html
Copyright © 2011-2022 走看看