題目: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;
}
}複製代碼