从上往下打印出二叉树的每个节点,同层节点从左至右打印。
分析
层次遍历
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue;
public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList<Integer> list = new ArrayList(); if( root == null ) return list; Queue<TreeNode> queue = new LinkedList<>();
queue.add(root);
while ( !queue.isEmpty() ){ TreeNode node = queue.poll();
list.add(node.val);
if( node.left != null ){ queue.add(node.left); } if( node.right != null ){ queue.add(node.right); } } return list; } }
|