剑指offer---栈的压入,弹出顺序

Posted 双马尾是老公的方向盘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer---栈的压入,弹出顺序相关的知识,希望对你有一定的参考价值。

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

        stack<int> stack1;
        
        int i = 0;
        int j = 0;

        stack1.push(pushV[0]);
        while ((!stack1.empty()) && (j<popV.size()))
        {
        
            if ((stack1.top() != popV[j]) && (i<pushV.size()))
            {
                ++i;
                stack1.push(pushV[i]);
            }
            else if (stack1.top() == popV[j])
            {
                stack1.pop();
                ++j;
            }
            else
            {
                ++j;
            }
        }
        
        if (stack1.empty()) return true;
        else return false;
    }
};

 

以上是关于剑指offer---栈的压入,弹出顺序的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer:面试题22栈的压入弹出序列

剑指Offer:栈的压入/弹出序列

剑指Offer:栈的压入弹出序列31

栈的压入弹出序列-剑指Offer

c++刷题——剑指offer21.栈的压入弹出序列

剑指offer-栈的压入弹出序列