立志用最少的代码做最高效的表达
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。
例如:
给定二叉树: [3,9,20,null,null,15,7],
返回:
[3,9,20,15,7]
提示:
节点总数 <= 1000
层序遍历。
/*** Definition for a binary tree node.* public class TreeNode {*int val;*TreeNode left;*TreeNode right;*TreeNode(int x) { val = x; }* }*/class Solution {public int[] levelOrder(TreeNode root) {if(root == null) return new int[0];List<Integer> list = new ArrayList<>();Queue<TreeNode> queue = new ArrayDeque<>();queue.add(root);while(!queue.isEmpty()) {TreeNode tmp = queue.remove();list.add(tmp.val);if(tmp.left != null) queue.add(tmp.left);if(tmp.right != null) queue.add(tmp.right);}return list.stream().mapToInt(Integer::intValue).toArray();}}