public int[] levelOrder(TreeNode root) { Deque<TreeNode> deque = new ArrayDeque<>(); ArrayList<Integer> res = new ArrayList<>(); if(root != null){ deque.addLast(root); while(!deque.isEmpty()){ TreeNode x = deque.pollFirst(); res.add(x.val); if(x.left!=null) deque.addLast(x.left); if(x.right!=null) deque.addLast(x.right); } return res.stream().mapToInt(Integer::valueOf).toArray(); }else{ return new int[]{}; } }
先确定节点总数,在初始化数组会好很多。
复习时候再做。