Leetcode 429. N ary Tree Level Order Traversal | | Leetcode 429. N ary Tree Level Order Traversal 文章作者:Tyan博客:noahsnail.com | CSDN | 简书 1. Description 2. Solution Recursive 12345678910111213141516171819202122232425262728293031323334353637383940414243444546/*// Definition for a Node.class Node {public: int val = NULL; vector<Node*> children; Node() {} Node(int _val, vector<Node*> _children) { val = _val; children = _children; }};*/class Solution {public: vector<vector<int>> levelOrder(Node* root) { vector<vector<int>> result; if(!root) { return result; } queue<Node*> level; level.push(root); levelOrderTraverse(result, level); return result; } void levelOrderTraverse(vector<vector<int>>& result, queue<Node*> level) { if(level.empty()) { return; } queue<Node*> nextLevel; vector<int> values; while(!level.empty()) { Node* current = level.front(); level.pop(); values.push_back(current->val); for(int i = 0; i < current->children.size(); i++) { nextLevel.push(current->children[i]); } } result.push_back(values); levelOrderTraverse(result, nextLevel); }}; Iterative 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849/*// Definition for a Node.class Node {public: int val = NULL; vector<Node*> children; Node() {} Node(int _val, vector<Node*> _children) { val = _val; children = _children; }};*/class Solution {public: vector<vector<int>> levelOrder(Node* root) { vector<vector<int>> result; if(!root) { return result; } queue<Node*> level; level.push(root); levelOrderTraverse(result, level); return result; } void levelOrderTraverse(vector<vector<int>>& result, queue<Node*> level) { if(level.empty()) { return; } while(!level.empty()) { queue<Node*> nextLevel; vector<int> values; while(!level.empty()) { Node* current = level.front(); level.pop(); values.push_back(current->val); for(int i = 0; i < current->children.size(); i++) { nextLevel.push(current->children[i]); } } result.push_back(values); level = nextLevel; } } }; Reference https://leetcode.com/problems/n-ary-tree-level-order-traversal/description/ 如果有收获,可以请我喝杯咖啡! 赏 微信打赏 支付宝打赏