题目
给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。
树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。
代码
/*
// Definition for a Node.
class Node {
public int val;
public List<Node> children;
public Node() {}
public Node(int _val) {
val = _val;
}
public Node(int _val, List<Node> _children) {
val = _val;
children = _children;
}
};
*/
class Solution {
public List<List<Integer>> levelOrder(Node root) {
List<List<Integer>> res = new ArrayList<>();
Queue<Node> queue = new ArrayDeque<>();
if(root!=null)
queue.add(root);
while(!queue.isEmpty())
{
int n=queue.size();
List<Integer> array = new ArrayList<>();
for(int i=0;i<n;i++)
{
Node node=queue.poll();
array.add(node.val);
for(int j=0;j<node.children.size();j++)
queue.add(node.children.get(j));
//System.out.println(array);
}
res.add(array);
}
return res;
}
}
反思
实现了多叉树层次遍历