二叉树的后序遍历
来源:互联网 发布:沃尔什变换矩阵 编辑:程序博客网 时间:2024/05/18 03:29
问题描述:
给出一棵二叉树,返回其节点值的后序遍历。
样例
给出一棵二叉树 {1,#,2,3}
,
1 \ 2 / 3
返回 [3,2,1]
解题思路:
运用递归,先访问二叉树的左子树输出数据,然后访问右子树输出数据,最后输出根节点的数据。
代码实现:
/**
* Definition of TreeNode:
* class TreeNode {
* public:
* int val;
* TreeNode *left, *right;
* TreeNode(int val) {
* this->val = val;
* this->left = this->right = NULL;
* }
* }
*/
class Solution {
/**
* @param root: The root of binary tree.
* @return: Postorder in vector which contains node values.
*/
public:
vector<int> postorderTraversal(TreeNode *root) {
// write your code here
vector<int>z;
if(root==NULL) return z;
func(z,root);
return z;
}
void func(vector<int> &z,TreeNode *root){
if(root==NULL) return;
func(z,root->left);
func(z,root->right);
z.push_back(root->val);
}
};
解题感想:
解题方法同前序遍历。
- 二叉树的后序遍历
- 二叉搜索树的后序遍历
- 二叉搜索树的后序遍历
- 二叉树的后序遍历
- 二叉搜索树的后序遍历
- 二叉树的后序遍历算法
- 题目:二叉树的后序遍历
- LintCode -- 二叉树的后序遍历
- Lintcode 二叉树的后序遍历
- 二叉搜索树的后序遍历
- LintCode:二叉树的后序遍历
- 二叉树的后序遍历
- 二叉查找树的后序遍历
- 二叉搜索树的后序遍历
- lintcode,二叉树的后序遍历
- 后序二叉线索树的遍历
- 【数据结构】二叉树的后序遍历
- LintCode-二叉树的后序遍历
- java几种常用设计模式简单示例
- Android 单元测试小总结
- Docker
- nginx配置https
- linux下部署并运行项目
- 二叉树的后序遍历
- 顶端
- less命令
- 经典排序算法
- 二叉树的最小深度
- java生成xml文件
- Red Hat Linux安装CentOS的yum源
- 关于DataSet和DataFrame
- Java序列化与反序列化