LCR 150. 彩灯装饰记录 II

2023-12-30 17:16:40

解题思路:

与LCR. 彩灯装饰记录 I类似,增加了分层输出。

class Solution {
    public List<List<Integer>> decorateRecord(TreeNode root) {
        Queue<TreeNode> queue = new LinkedList<>();
        List<List<Integer>> res = new ArrayList<>();
        if(root != null) queue.add(root);
        while(!queue.isEmpty()) {
            List<Integer> tmp = new ArrayList<>();
            for(int i = queue.size(); i > 0; i--) {
                TreeNode node = queue.poll();
                tmp.add(node.val);
                if(node.left != null) queue.add(node.left);
                if(node.right != null) queue.add(node.right);
            }
            res.add(tmp);
        }
        return res;
    }
}

注意:

for循环处不能改为for(int i=0;i<queue.size();i++),必须先将queue.size()赋值给i,不然queue.size()的值会变化,导致循环次数增加 。

文章来源:https://blog.csdn.net/qq_61504864/article/details/135305999
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。