解题思路:
与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()的值会变化,导致循环次数增加 。