从上往下打印二叉树

题目描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印。
 
public ArrayList PrintFromTopToBottom(TreeNode root) {
ArrayList<Integer> list = new ArrayList<>();
if (root == null)
return list;
Queue<TreeNode> q = new LinkedList<>();
q.offer(root);
while (!q.isEmpty()) {
TreeNode tn = q.poll();
if (tn.left != null)
q.offer(tn.left);
if (tn.right != null)
q.offer(tn.right);
list.add(tn.val);
}
return list;
}
posted @ 2018-10-12 09:47  MarkLeeBYR  阅读(93)  评论(0)    收藏  举报