题解 | #二叉树的后序遍历#
二叉树的后序遍历
http://www.nowcoder.com/practice/32af374b322342b68460e6fd2641dd1b
题目描述:用递归的方法对给定的二叉树进行后序遍历。
例如:给定的二叉树为{1,#,2,3},返回[3,2,1].
示例1:
输入:{1,#,2,3}
返回值:[3,2,1]
/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
思路:二叉树的后序遍历,就是递归,先左再右最后根。具体代码如下:
class Solution {
public:
/**
*
* @param root TreeNode类
* @return int整型vector
*/
vector<int> res;
void postbianli(TreeNode *root)
{
if(root!=NULL)
{
postbianli(root->left);
postbianli(root->right);
res.push_back(root->val);
}
}
vector<int> postorderTraversal(TreeNode* root)
{
// write code here
postbianli(root);
return res;
}
};
查看7道真题和解析