栈的压入,弹出序列

vector 容器序列
stack 栈
算法课老师没讲代码,然后leetcode上更加骚的东西

bool validateStackSequences(vector<int>& pushV, vector<int>& popV) {
        if(popV.empty() && pushV.empty())            return 1;       
         if(popV.empty() || pushV.empty())            return 0;       
          int pushOrd = 0, popOrd = 0;  // 遍历记录        
          stack<int> V;       
           for (pushOrd = 0, popOrd = 0; pushOrd < pushV.size(); ++pushOrd)  // 按顺序遍历       
            {            V.push(pushV[pushOrd]);  // 入栈            
            while (!V.empty() &&popV[popOrd] == V.top())  // 如果栈顶元素等于出栈元素            
            {                V.pop();   // 出栈               
             popOrd += 1;  // 向后移            }        }      
               // 全部入栈完毕,如果栈为空,直接返回               
                while (!V.empty() && V.top() == popV[popOrd])        {            V.pop();             popOrd += 1;        }        return V.empty();    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值