【剑指OFFER】从上往下打印二叉树

【问题描述】

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

 

【AC代码】

 1 import java.util.ArrayList;
 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     public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
17         ArrayList<Integer> list = new ArrayList<>();
18         ArrayList<TreeNode> queue = new ArrayList<>();
19         if (root == null) return list;
20         queue.add(root);
21         while (queue.size() != 0) {
22             TreeNode tmp = queue.remove(0);
23             list.add(tmp.val);
24             if (tmp.left != null) queue.add(tmp.left);
25             if (tmp.right != null) queue.add(tmp.right);
26         }
27         return list;
28     }
29 }
View Code

 

posted @ 2019-10-25 16:17  ___Moongazer  阅读(100)  评论(0编辑  收藏  举报