从上往下打印二叉树

Posted haq123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从上往下打印二叉树相关的知识,希望对你有一定的参考价值。

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

思路:就是写一个层序遍历代码,用队列将根、左孩子、右孩子有序入队最后再出队即可

 1 import java.util.*;
 2 /**
 3 public class TreeNode {
 4     int val = 0;
 5     TreeNode left = null;
 6     TreeNode right = null;
 7 
 8     public TreeNode(int val) {
 9         this.val = val;
10 
11     }
12 
13 }
14 */
15 public class Solution {
16     
17     Queue<TreeNode> queue = new LinkedList<>();
18     ArrayList<Integer> arr = new ArrayList();
19     
20     public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
21         
22         if(root==null)
23             return arr;
24         queue.add(root);
25         while(!queue.isEmpty()){
26             TreeNode t = queue.poll();//好久没用过队列函数不太清楚了!!!
27             arr.add(t.val);
28             if(t.left!=null)
29                 queue.add(t.left);
30             if(t.right!=null)
31                 queue.add(t.right);
32         }
33         return arr;
34     }
35 }

代码一天不敲就生疏(ps:每天都敲也菜。。。。。)

以上是关于从上往下打印二叉树的主要内容,如果未能解决你的问题,请参考以下文章

从上往下打印二叉树

剑指offer:从上往下打印二叉树

剑指offer-从上往下打印二叉树

剑指Offer-Java-从上往下打印二叉树

剑指Offer 从上往下打印二叉树

Java 剑指offer(31)从上往下打印二叉树