class Solution {
public:
vector<int> postorderTraversal(TreeNode* root) {
vector<int> v;
stack<TreeNode*> s;
TreeNode* h = root;
TreeNode* cur = root;
if(!root) return v;
s.push(root);
while(!s.empty())
{
TreeNode* temp = s.top();
if(temp->left && h!=temp->left && h!=temp->right){
s.push(temp->left);
}else if(temp->right && h!=temp->right){
s.push(temp->right);
}else{
v.push_back(temp->val);
s.pop();
h = temp;
}
}
return v;
}
};

京公网安备 11010502036488号