从上往下打印二叉树_22

2021-12-23 18:16:26 浏览数 (1)

思路:用队列来保证结点的读取顺序;这里用数组来模拟队列(牛客不让直接用队列) 代码:

代码语言:javascript复制
public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
        ArrayList<Integer> res=new ArrayList<>();
        if (root==null){
            return res;
        }

        ArrayList<TreeNode> queue=new ArrayList<>();

        queue.add(root);

        while (queue.size()!=0){
            TreeNode currNode= queue.remove(0);
            res.add(currNode.val);

            if (currNode.left!=null){
                queue.add(currNode.left);
            }
            if (currNode.right!=null){
                queue.add(currNode.right);
            }
        }
        return res;
    }

0 人点赞