给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。
树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。
思路:利用层次遍历的模板,直接遍历N叉树
java
public List<List<Integer>> levelOrder(Node root) {
List<List<Integer>> result=new ArrayList<>();
Queue<Node> queue=new LinkedList();
if(root!=null) queue.add(root);
while (!queue.isEmpty()){
int size=queue.size();
List<Integer> list=new ArrayList();
for (int i=0;i<size;i++){
Node node=queue.poll();
list.add(node.val);
if(node.children==null) continue;
for(int j=0;j<node.children.size();j++){
queue.add(node.children.get(j));
}
}
result.add(list);
}
return result;
}