LeetCode-429:N叉书的层序遍历
题目描述
解题思路
这个就是标准的解决步骤,注意返回结果的每一个子向量,都是一层上的元素,不同的向量里的元素所在的层次不同。
解题代码
class Solution { public: vector<vector<int>> levelOrder(Node* root) { vector<vector<int>> ret; if(!root) return ret; ret.push_back({root->val}); queue<Node*> Q; Q.push(root); auto cur = root; while(!Q.empty()){ vector<int> ins; auto len = Q.size(); for(int i = 0; i < len; i++){ cur = Q.front(); Q.pop(); for(auto &iter: cur->children) ins.push_back(iter->val); for(auto &iter: cur->children) Q.push(iter); } if(ins.size()) ret.push_back(ins); } return ret; } };
测试数据
我实在是搞不懂这N叉树是怎么创建的
输入:[1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]
输出:[[1],[2,3,4,5],[6,7,8,9,10],[11,12,13],[14]]
运行结果