题目
590.N 叉树的后序遍历
题目大意
给定一个 n 叉树的根节点 root
,返回 其节点值的 后序遍历 。
n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null
分隔(请参见示例)。
样例
数据规模
思路
直接考虑对它进行递归后序遍历:
- 当一个节点递归到一个不存在的子节点时,
root
将变成nullptr
,此时直接return
- 如果当前节点是存在的,暂时不将其
val
存储到 v e c t o r vector vector数组ans
中 - 将下来依序访问它的所有子节点
root->children
- 访问回溯回来之后,将其
val
存储到 v e c t o r vector vector数组ans
中
代码
class Solution {
public:
void dfs(Node* root,vector<int>& ans){
if(root==nullptr)return;
for(auto it:root->children){
dfs(it,ans);
}
ans.push_back(root->val);
}
vector<int> postorder(Node* root) {
vector<int>ans;
dfs(root,ans);
return ans;
}
};
总结
写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于 java开发 的学习思路及方向。从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。
由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的 点击我的Gitee获取。
还有 高级java全套视频教程 java进阶架构师 视频+资料+代码+面试题!
全方面的java进阶实践技术资料,并且还有技术大牛一起讨论交流解决问题。