剑指Offer_编程题_22
生活随笔
收集整理的這篇文章主要介紹了
剑指Offer_编程题_22
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目描述
輸入兩個(gè)整數(shù)序列,第一個(gè)序列表示棧的壓入順序,請(qǐng)判斷第二個(gè)序列是否為該棧的彈出順序。假設(shè)壓入棧的所有數(shù)字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對(duì)應(yīng)的一個(gè)彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。(注意:這兩個(gè)序列的長(zhǎng)度是相等的) class Solution { public:bool IsPopOrder(vector<int> pushV,vector<int> popV) {bool flag = true;stack<int>st;int size_push = pushV.size();int size_pop = popV.size();int j=0,i=0;while(i < size_push){if(pushV[i] == popV[j]){i++;j++;}else if(!st.empty() && st.top() == popV[j]){st.pop();j++;}else {st.push(pushV[i]);i++;}}while(!st.empty()){if(st.top() == popV[j]){st.pop();j++;}else{break;}}if(!st.empty()){flag = false;}return flag;} };
轉(zhuǎn)載于:https://www.cnblogs.com/grglym/p/8986186.html
總結(jié)
以上是生活随笔為你收集整理的剑指Offer_编程题_22的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python初始环境搭建和Pycharm
- 下一篇: 网页报错有哪些错误