zoukankan      html  css  js  c++  java
  • 429. N叉树的层序遍历

    给定一个 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 };
  • 相关阅读:
    输入属性,输出属性
    angular响应式表单
    angular 响应式表单指令
    c++ Primer
    CString 操作函数
    字符串分割strtok_s
    LPSTR LPTSTR
    CString分割切分
    CStringArray
    十进制
  • 原文地址:https://www.cnblogs.com/Swetchine/p/11307374.html
Copyright © 2011-2022 走看看