棧的彈出壓入序列

2021-09-09 09:21:28 字數 419 閱讀 4146

這是原題連線

題目大意就是根據給出的棧的壓入序列,來判斷彈出序列是否合法。

例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。

我的解法是用棧模擬,當然用了乙個陣列就可以模擬這個題目中的棧。設定三個指標,i是壓入序列的指標,指向下乙個要壓得數。j是彈出序列的指標,指向下乙個彈出的數。top就是棧頂指標,注意初始值是-1.

模擬壓棧彈棧就可以,先壓棧,然後檢查當前棧頂和要彈出的數是否相等,如果相等就說明需要彈出。

要注意控制陣列是否越界。比如要保證i,j都小於陣列的索引的最大值。還有top,陣列的索引不能為-1

ac**:

class solution 

};

棧的壓入彈出序列

題目 輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓棧序列,序列4,5,3,2,1是該棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。解答 可以用乙個輔助的棧來儲存入...

棧的壓入 彈出序列

輸入兩個整數序列,第乙個序列表示棧的壓入順序,判斷兩個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1 2 3 4 5是某棧的壓棧序列,序列4 5 3 2 1是該壓棧序列對應的乙個彈出序列,但4 3 5 1 2就不可能是該壓棧序列的彈出序列。bool ispoporder cons...

棧的壓入彈出序列

1.問題描述 輸入兩個整數序列,第乙個序列表示棧的壓入序列,請判斷第二個序列是否為該棧的彈出序列。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓棧序列,序列4,5,3,2,1是該棧序列對應的乙個彈出序列,但 4,3,5,1,2,就不可能是該壓棧序列的彈出序列。來自 劍指offer...