题目:N叉树的层序遍历
给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。
复制代码
示例:
例如,给定一个 3叉树 :
复制代码
返回其层序遍历:
[
[1],
[3,2,4],
[5,6]
]
复制代码
思考:
这道题就是简单的N叉树的层序遍历算法。
复制代码
实现:
class Solution {
public List<List<Integer>> levelOrder(Node root) {
List<List<Integer>> list = new ArrayList<>();
if (root == null)
return list;
List<Node> nodes = root.children;
List<Node> nodeList;
List<Integer> r = new ArrayList<>();
r.add(root.val);
list.add(r);
while (nodes.size() > 0) {
nodeList = new ArrayList<>();
r = new ArrayList<>();
for (Node temp : nodes) {
nodeList.addAll(temp.children);
r.add(temp.val);
}
list.add(r);
nodes = nodeList;
}
return list;
}
}复制代码