LeetCode 429. N叉树的层序遍历(N-ary Tree Level Order Traversal)
Posted hglibin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 429. N叉树的层序遍历(N-ary Tree Level Order Traversal)相关的知识,希望对你有一定的参考价值。
429. N叉树的层序遍历
429. N-ary Tree Level Order Traversal
LeetCode429. N-ary Tree Level Order Traversal
题目描述
给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。
例如,给定一个 3 叉树:
返回其层序遍历:
[
[1],
[3,2,4],
[5,6]
]
说明:
- 树的深度不会超过 1000。
- 树的节点总数不会超过 5000。
Java 实现
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
class Node {
public int val;
public List<Node> children;
public Node() {
}
public Node(int _val, List<Node> _children) {
val = _val;
children = _children;
}
}
class Solution {
public List<List<Integer>> levelOrder(Node root) {
List<List<Integer>> result = new LinkedList<>();
Queue<Node> queue = new LinkedList<>();
if (root == null) {
return result;
}
queue.offer(root);
while (!queue.isEmpty()) {
List<Integer> list = new LinkedList<>();
int size = queue.size();
for (int i = 0; i < size; i++) {
if (queue.peek().children != null) {
for (int j = 0; j < queue.peek().children.size(); j++) {
queue.offer(queue.peek().children.get(j));
}
}
list.add(queue.poll().val);
}
result.add(list);
}
return result;
}
}
参考资料
- https://leetcode-cn.com/problems/n-ary-tree-level-order-traversal/
- https://leetcode.com/problems/n-ary-tree-level-order-traversal/
以上是关于LeetCode 429. N叉树的层序遍历(N-ary Tree Level Order Traversal)的主要内容,如果未能解决你的问题,请参考以下文章