文章目录
- 1.题目
- 2.代码
1.题目
- 题目要求
- 思路:后序遍历的顺序是左-右-根
2.代码
class Solution{
public:
vector<int> postorderTraversal(TreeNode* root){
vector<int> result;
reverseFunction(root,result);
return result;
}
void reverseFunction(TreeNode* node, vector<int>& tempvector){
if (!node) return;
if (node->left) reverseFunction(node->left, tempvector);
if (node->right) reverseFunction(node->right, tempvector);
tempvector.push_bakc(node->val);
}
};
class Solution{
public:
vector<int> postorderTraversal(TreeNode* root){
vector<int> result;
stack<TreeNode*> s;
s.push(root);
whiel (!s.empty())
{
TreeNode* node=s.top();
s.pop();
result.insert(result.begin(),s->val);
if (root->left) s.push(root->left);
if (root->right) s.push(root->right);
}
return result;
}
};