码迷,mamicode.com
首页 > 其他好文 > 详细

429. N叉树的层序遍历

时间:2019-08-06 10:56:23      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:说明   ack   src   queue   idt   div   深度   png   alt   

给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。

例如,给定一个 3叉树 :

技术图片

 

返回其层序遍历:

[
[1],
[3,2,4],
[5,6]
]
 

说明:

树的深度不会超过 1000。
树的节点总数不会超过 5000。

solution:

 1 /*
 2 // Definition for a Node.
 3 class Node {
 4 public:
 5     int val;
 6     vector<Node*> children;
 7 
 8     Node() {}
 9 
10     Node(int _val, vector<Node*> _children) {
11         val = _val;
12         children = _children;
13     }
14 };
15 */
16 class Solution {
17 public:
18     vector<vector<int>> levelOrder(Node* root) {
19         vector<vector<int> >vec;
20         if(root)
21         {
22           queue<Node*>q;
23           q.push(root);
24           while(!q.empty())
25           {
26             int size = q.size();
27             vector<int> vecChild;
28             while(size--)
29             {
30               Node* node = q.front();
31               q.pop();
32               vecChild.push_back(node->val);
33               for(auto child : node->children)
34                 q.push(child);
35             }
36             vec.push_back(vecChild);
37           } 
38         }
39       return vec;
40     }
41 };

 

429. N叉树的层序遍历

标签:说明   ack   src   queue   idt   div   深度   png   alt   

原文地址:https://www.cnblogs.com/Swetchine/p/11307374.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!