美文网首页
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