Fork me on GitHub

从上往下打印二叉树

题目描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印。
 1 import java.util.ArrayList;
 2 
 3 /*
 4  * 题目描述
 5  * 从上往下打印出二叉树的每个节点,同层节点从左至右打印。
 6  */
 7 
 8 public class Main22 {
 9 
10     public static void main(String[] args) {
11         // TODO Auto-generated method stub
12 
13     }
14     
15     public class TreeNode {
16         int val = 0;
17         TreeNode left = null;
18         TreeNode right = null;
19 
20         public TreeNode(int val) {
21             this.val = val;
22         }
23     }
24     
25     public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
26         ArrayList<Integer> array = new ArrayList<Integer>();
27         ArrayList<TreeNode> treeArray = new ArrayList<TreeNode>();
28         if (root == null) {
29             return array;
30         }
31         treeArray.add(root);
32         for (int i=0;i<treeArray.size();i++) {
33             TreeNode head = treeArray.get(i);
34             if (head.left != null) {
35                 treeArray.add(head.left);
36             }
37             if (head.right != null) {
38                 treeArray.add(head.right);
39             }
40             array.add(head.val);
41         }
42         return array;
43     }
44 
45 }

 

posted @ 2019-07-03 09:06  gentleKay  阅读(128)  评论(0编辑  收藏  举报