题解 | 二叉树的后序遍历
二叉树的后序遍历
https://www.nowcoder.com/practice/32af374b322342b68460e6fd2641dd1b
/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
class Solution {
public:
/**
*
* @param root TreeNode类
* @return int整型vector
*/
vector<int> result; // 提前定义最终结果
vector<int> postorderTraversal(TreeNode* root) {
// write code here
if(root==nullptr) // 树为空,返回空
{
return result;
}
if(root->left!=nullptr) // 递归遍历左子树
{
postorderTraversal(root->left);
}
if(root->right!=nullptr) // 递归遍历右子树
{
postorderTraversal(root->right);
}
result.push_back(root->val); // 存储当前结点的数据(此时的节点无孩子且左兄弟不存在或者已经存储)
return result;
}
};

