从上到下打印二叉树
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。
例如:
给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7
返回:
[3,9,20,15,7]
1 public int[] levelOrder(TreeNode root) { 2 if(root==null){ 3 return new int[0]; 4 } 5 Queue<TreeNode> queue = new LinkedList<TreeNode>(); 6 queue.add(root); 7 List<Integer> list = new ArrayList<Integer>(); 8 while(!queue.isEmpty()){ 9 TreeNode node = queue.poll(); 10 list.add(node.val); 11 if(node.left!=null){ 12 queue.add(node.left); 13 } 14 if(node.right!=null){ 15 queue.add(node.right); 16 17 } 18 } 19 int[] arr = new int[list.size()]; 20 for(int i=0;i<list.size();i++){ 21 arr[i]=list.get(i); 22 } 23 return arr; 24 }

浙公网安备 33010602011771号