zl程序教程

您现在的位置是:首页 >  其他

当前栏目

从上往下打印二叉树_22

2023-04-18 16:10:29 时间

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

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;
    }