二叉树的后序遍历
2017-04-21 21:09
106 查看
一.题目描述
给出一棵二叉树,返回其节点值的后序遍历。
样例
给出一棵二叉树 {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> a; if(root==NULL) return a; inorder(a,root); return a;} void inorder(vector<int> &a,TreeNode *root) { if(root==NULL) return; inorder(a,root->left); inorder(a,root->right); a.push_back(root->val); } };四.感悟
后序遍历与前序遍历中序遍历除了根节点的访问顺序不同,其余都相同.
相关文章推荐
- 对二叉树进行前序、中序、后序遍历
- 二叉树的遍历(前序、中序、后序、层序),递归和非递归实现
- 【基础备忘】 二叉树前序、中序、后序遍历相互求法
- 二叉树的创建、前/中/后序遍历、按层遍历C语言实现
- 二叉树学习——前序、中序、后序遍历(Java实现)
- 二叉树前序、中序、后序遍历相互求法
- LintCode【简单】66. 二叉树的前,中,后序遍历。代码及思路
- 根据二叉树中序和后序(先序)遍历结果 重建二叉树
- 二叉树的创建,先序遍历,中序遍历,后序遍历
- 面试题 二叉树的前序遍历,中序遍历,后序遍历(递归实现)
- 二叉树先序、中序,后序遍历的非递归实现
- 判断一个数列是否是二叉树后序遍历的结果
- [转]非递归实现二叉树的前序,中序,后序遍历
- c之二叉树链表操作---建立、(递归)前序遍历、中序遍历、后序遍历
- 数据结构(六)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- 二叉树先序遍历、中序遍历、后序遍历
- 二叉树的后序遍历 递归 非递归
- 二叉树的创建及递归的先,中,后序遍历
- leetcode 刷题: 后序遍历二叉树13
- C++数据结构--二叉树的前序遍历,中序遍历,后序遍历