剑指 Offer 32 - I. 从上到下打印二叉树

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[]{};
        }
    }

 

 


先确定节点总数,在初始化数组会好很多。

复习时候再做。

 

posted @ 2020-08-17 22:11  欣姐姐  阅读(82)  评论(0)    收藏  举报