leetcode 429. N-ary Tree Level Order Traversal(N叉樹分層遍歷)
阿新 • • 發佈:2020-12-22
Given an n-ary tree, return the level order traversal of its nodes’ values.
Nary-Tree input serialization is represented in their level order traversal, each group of children is separated by the null value (See examples).
Example 1:
Input: root = [1,null,3,2,4,null,5,6]
Output: [[1],[3,2,4],[5,6]]
N分支樹的level遍歷
思路:
BFS
public List<List<Integer>> levelOrder(Node root) {
List<List<Integer>> result = new ArrayList<>();
if(root == null) return result;
Queue<Node> queue = new LinkedList<>();
queue.offer(root);
while (!queue.isEmpty()) {
int size = queue.size();
List<Integer> tmp = new ArrayList<>();
for(int i = 0; i < size; i++) {
Node node = queue.poll();
tmp.add(node.val);
for(Node child : node.children) {
if (child != null) {
queue.offer(child);
}
}
}
result.add(tmp);
}
return result;
}