• (N叉树 BFS) leetcode429. 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:

    1. The depth of the tree is at most 1000.
    2. The total number of nodes is at most 5000.

    -----------------------------------------------------------------------------------------------------------------------------------

    这个层序遍历,自然用BFS写。和二叉树的层序遍历类似,连代码不会相差很大。

    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) {
            if(!root) return {};
            queue<Node*> q;
            q.push(root);
            vector<vector<int> > vec;
            while(!q.empty()){
                vector<int> vec1;
                int ans = q.size();
                for(int i = ans;i > 0; i--){
                    auto t = q.front();
                    q.pop();
                    vec1.push_back(t->val);
                    for(Node *cur:t->children){
                        q.push(cur);
                    }
                }
                vec.push_back(vec1);
            }
            return vec;
        }
    };
  • 相关阅读:
    iOS如何获取蓝牙Mac地址
    iOS完整App资源收集
    四月兄弟AprilBeacon
    图片360°旋转动画(
    图片圆角
    获取子字符串在元字符串中出现的所有位置
    调用系统震动 循环震动
    ibecon后台运行
    uiwebview 加载本地js、css、img,html从网站加载
    获取蓝牙mac地址
  • 原文地址:https://www.cnblogs.com/Weixu-Liu/p/10776108.html
Copyright © 2020-2023  润新知