做这道题时想用c的,结果我功力不够深,做不出来,只能到评论区找其他语言的代码,就找了个c++的。
题目
参考前辈的代码
class Solution {
public:
vector<vector<int>> levelOrder(Node* root) {
vector<vector<int>> res;//类似二维数组
if(root==NULL)return res;
queue<Node*>que;
que.push(root);//接到队列的末端
while(!que.empty()){
int size=que.size();
vector<int> tmp;//类似数组
while(size-->0){
Node *p=que.front();
que.pop();
tmp.push_back(p->val);//队列中从上往下的元素,一个一个的往下添加到新队列
for(int i=0;i<p->children.size();i++){
que.push(p->children[i]);
}
}
res.push_back(tmp);
}
return res;
}
};