题解 | #栈的压入、弹出序列#

栈的压入、弹出序列

http://www.nowcoder.com/practice/d77d11405cc7470d82554cb392585106

class Solution { public: bool IsPopOrder(vector pushV,vector popV) {

    stack<int> st;
    int i,j=0,n=pushV.size();
    for(i=0;i<n;i++)
    {
        //第一个元素入栈
        st.push(pushV[i]);
        //栈不为空同时栈顶元素等于popV[j]时,栈顶元素出栈
        while(!st.empty() &&  st.top()==popV[j])
        {
            st.pop();
            j++;
        }
    }
   //栈中元素全部出栈时为真,否则为假
    if(st.empty())
    {
        return true;
    }
    else {
        return false;
    }
    
}

};

全部评论

相关推荐

评论
1
收藏
分享
牛客网
牛客企业服务