429 BFS遍历二叉树
给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。
例如,给定一个 3叉树 :

返回其层序遍历:
[
[1],
[3,2,4],
[5,6]
]
class Solution {
public List<List<Integer>> levelOrder(Node root) {
List<List<Integer>> list = new ArrayList<List<Integer>>();
if(root == null){
return list;
}
Queue<Node> queue = new ArrayDeque<Node>();
//宽度遍历
queue.offer(root);
while (!queue.isEmpty()){
int size = queue.size();
List<Integer> levelList = new ArrayList<Integer>();
for (Node node : queue){
levelList.add(node.val);
}
list.add(levelList);
for (int i=0;i<size;i++){
Node curNode = queue.poll();
if (curNode.children != null){
for (Node offerNode : curNode.children){
queue.offer(offerNode);
}
}
}
}
return list;
}
}
逃不过逝水流年 没有时间可以浪费了!!!

浙公网安备 33010602011771号