class Solution {
public:
vector<int> postorderTraversal(TreeNode *root) {
vector<int> res;
stack<pair<TreeNode *,int>>s;
TreeNode *p = root;
while(p!=NULL||!s.empty())
{
while(p)
{
s.push(pair<TreeNode*,int>(p,1));
p = p->left;
}
pair<TreeNode*,int> q = s.top();
s.pop();
if(q.second==1)
{
s.push(pair<TreeNode*,int>(q.first,2));
p = q.first->right;
}
else
{
res.push_back(q.first->val);
p = NULL;
}
}
return res;
}
};
leetcode:Binary Tree Postorder Traversal
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.