题目
给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。
例如,给定一个 3叉树 :
返回其层序遍历:
[
[1],
[3,2,4],
[5,6]
]
说明:
树的深度不会超过 1000。
树的节点总数不会超过 5000。
C++解法
class Solution {
public:
vector<vector<int>> vec;
vector<vector<int>> levelOrder(Node* root) {
vec.clear();
travel(root, 0);
return vec;
}
void travel(Node * node, int depth) {
if (node == nullptr) { return; }
if (vec.size() == depth) {
vec.push_back(vector<int>());
}
vec.at(depth).push_back(node->val);
for (int i = 0; i < node->children.size(); i ++) {
travel(node->children[i], depth+1);
}
}
};
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/n-ary-tree-level-order-traversal