层级遍历
剑指中的这类型题目的核心代码
while(!queue.isEmpty()){
int size=queue.size();//这里其实不这么写也行,这么写更加清晰直观地反映出这是遍历着一层的元素
List<Integer> level=new ArrayList<>();
for(int i=0;i<size;i++){
TreeNode node=queue.poll();//queue需要是Queue类型,想一想为什么不能用List
level.add(node.val);
if(ndoe.left!=null){
queue.add(node.left);
}
if(node.right!=null){
queue.add(node.right);
}
}
res.add(level); //这里res是外部定义的变量
}
值得一提的是,如果返回的int[]类型,那么就可以使用伴随类
Arrays.toArray(new int[list.size()]);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。