100題 24 棧的push pop序列

2021-09-06 02:38:39 字數 516 閱讀 4409

輸入兩個整數序列。其中乙個序列表示棧的push順序,判斷另乙個序列有沒有可能是對應的pop順序。為了簡單起見,我們假設push序列的任意兩個整數都是不相等的。比如輸入的push序列是1、2、3、4、5,那麼4、5、3、2、1就有可能是乙個pop系列。因為可以有如下的push和pop序列:push 1,push 2,push 3,push 4,pop,push 5,pop,pop,pop,pop,這樣得到的pop序列就是4、5、3、2、1。但序列4、3、5、1、2就不可能是push序列1、2、3、4、5的pop序列。

這題可以利用乙個輔助棧來實現,過程很簡單,但描述起來會有一些困難,所以直接**了。

#include 

#include

using namespace std;

bool isstackpushpop(int a, int b, int n)

} return ms.empty();

}int main()

;int b = ;

cout}

100題 第二十九 棧的push pop序列

一,題目 輸入兩個整數序列。其中乙個序列表示棧的push順序,判斷另乙個序列有沒有可能是對應的pop順序。如果我們希望pop的數字正好是棧頂數字,直接pop出棧即可 如果希望pop的數字目前不在棧頂,我們就到push序列中還沒有被push到棧裡的數字中去搜尋這個數字,並把在它之前的所有數字都push...

棧的push pop序列

棧的push pop序列 輸入兩個整數序列。其中乙個序列表示棧的push 順序,判斷另乙個序列有沒有可能是對應的 pop順序。為了簡單起見,我們假設 push 序列的任意兩個整數都是不相等的。比如輸入的push 序列是1 2 3 4 5,那麼4 5 3 2 1就有可能是乙個 pop系列。因為可以有如...

棧的push pop序列

題目 輸入兩個整數序列。其中乙個序列表示棧的push順序,判斷另乙個序列有沒有可能是對應的pop順序。為了簡單起見,我們假設push序列的任意兩個整數都是不相等的。比如輸入的push序列是1 2 3 4 5,那麼4 5 3 2 1就有可能是乙個pop系列。因為可以有如下的push和pop序列 pus...