(N叉树 BFS) leetcode429. N-ary Tree Level Order Traversal
Posted weixu-liu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(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:
- The depth of the tree is at most
1000
. - 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; } };
以上是关于(N叉树 BFS) leetcode429. N-ary Tree Level Order Traversal的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 429. N叉树的层序遍历(N-ary Tree Level Order Traversal)
Leetcode之广度优先搜索(BFS)专题-529. 扫雷游戏(Minesweeper)
Leetcode之广度优先搜索(BFS)专题-133. 克隆图(Clone Graph)