letecode [429] - N-ary Tree Level Order Traversal
Posted lpomeloz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了letecode [429] - N-ary Tree Level Order Traversal相关的知识,希望对你有一定的参考价值。
Given an n-ary tree, return the level order traversal of its nodes‘ values. (ie, from left to right, level by level).
For example, given a 3-ary
tree:
We should return its level order traversal:
[ [1], [3,2,4], [5,6] ]
Note:
- The depth of the tree is at most
1000
. - The total number of nodes is at most
5000
.
题目大意:
给定一颗N叉树,输出它的层次遍历结果。
理 解:
层次遍历一般需要利用队列。每遍历一层前计算队列的大小,当前队列的大小即为当前层节点数量。
代 码 C++:
/* // Definition for a Node. class Node public: int val; vector<Node*> children; Node() Node(int _val, vector<Node*> _children) val = _val; children = _children; ; */ class Solution public: vector<vector<int>> levelOrder(Node* root) vector<vector<int>> res; if(root == NULL) return res; int currentLaySize,k; queue<Node*> q; q.push(root); Node* node; while(!q.empty()) vector<int> layer; currentLaySize = q.size(); while(currentLaySize) node = q.front(); layer.push_back(node->val); q.pop(); k=0; while(k<(node->children).size()) q.push((node->children)[k]); k++; currentLaySize--; res.push_back(layer); return res; ;
运行结果:
执行用时 :220 ms, 在所有 C++ 提交中击败了88.43%的用户
内存消耗 :33.7 MB, 在所有 C++ 提交中击败了72.68%的用户
以上是关于letecode [429] - N-ary Tree Level Order Traversal的主要内容,如果未能解决你的问题,请参考以下文章
429. N-ary Tree Level Order Traversal
429. N-ary Tree Level Order Traversal
429. N-ary Tree Level Order Traversal
LeetCode429. N-ary Tree Level Order Traversal