标签:leetcode 图片 height ret .com tor def bfs for
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
.-----------------------------------------------------------------------------------------------------------------------------------
这个层序遍历,自然用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 图片 height ret .com tor def bfs for
原文地址:https://www.cnblogs.com/Weixu-Liu/p/10776108.html