Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - C++ - 429. N-ary Tree Level Order Traversal
題目:

解答:
/*
// Definition for a Node.
class Node {
public:
int val;
vector<Node*> children;
Node() {}
Node(int _val) {
val = _val;
}
Node(int _val, vector<Node*> _children) {
val = _val;
children = _children;
}
};
*/
class Solution {
public:
vector<vector<int>> levelOrder(Node* root) {
vector<vector<int>> ans;
queue<Node*> q;
if (!root) {
return ans;
}
q.push(root);
while (!q.empty()) {
int size = q.size();
vector<int> t;
for (int i = 0; i < size; ++i) {
Node *n = q.front(); q.pop();
for (auto& c : n->children) {
q.push(c);
}
t.push_back(n->val);
}
if (t.size() > 0) {
ans.push_back(t);
}
}
return ans;
}
};