标签:not 输出 img set tor ber 技术 ++ 遍历
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:
1000
.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%的用户
letecode [429] - N-ary Tree Level Order Traversal
标签:not 输出 img set tor ber 技术 ++ 遍历
原文地址:https://www.cnblogs.com/lpomeloz/p/11084180.html