LeetCode589. N 叉树的前序遍历
class Solution {
public:
vectorres;
vector preorder(Node* root) {
if(!root) return {};
res.push_back(root->val);
for(auto p:root->children){
preorder(p);
}
return res;
}
};
LeetCode589. N 叉树的后序遍历
class Solution {
public:
vectorres;
vector postorder(Node* root) {
if(!root) return {};
for(auto p:root->children){
postorder(p);
}
res.push_back(root->val);
return res;
}
};
LeetCode429. N 叉树的层序遍历
class Solution {
public:
queueque;
vector>ans;
vector level_ans;
vector> levelOrder(Node* root) {
if(root==NULL) return {};
que.push(root);
while(!que.empty()){
int size=que.size();
vectorvec;
for(int i=0;i
Node* node=que.front();
que.pop();
if(node!=NULL){
vec.push_back(node->val);
for(auto v:node->children){
que.push(v);
}
}
}
ans.push_back(vec);
}
return ans;
}
};
LeetCode559. N 叉树的最大深度
class Solution {
public:
int maxDepth(Node* root) {
if(root==NULL) return 0;
int d=0;
for(auto v:root->children){
d=max(d,maxDepth(v));
}
return d+1;
}
};



