美文网首页
binary-tree-postorder-traversal

binary-tree-postorder-traversal

作者: DaiMorph | 来源:发表于2019-05-02 12:15 被阅读0次
class Solution {
public:
    vector<int> postorderTraversal(TreeNode *root) {
        vector<int>result;
        stack<TreeNode*>st;
        TreeNode*p=root,*q=NULL;
        do{
            while(p)st.push(p),p=p->left;
            q=NULL;
            while(!st.empty())
            {
                p=st.top();
                st.pop();
                if(p->right==q)//右子树为空或者已经访问
                {
                    result.push_back(p->val);
                    q=p;
                }
                else//根节点p不能访问,因此在此入栈,处理p->right
                {
                    st.push(p);
                    p=p->right;
                    break;
                }
            }
        }while(!st.empty());
        return result;
    }
};

相关文章

网友评论

      本文标题:binary-tree-postorder-traversal

      本文链接:https://www.haomeiwen.com/subject/hcvanqtx.html