day42 42 棧的壓入 彈出序列

2021-10-07 20:48:31 字數 553 閱讀 1022

問題描述:

輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。

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

注意:若兩個序列長度不等則視為並不是乙個棧的壓入、彈出序列。若兩個序列都為空,則視為是乙個棧的壓入、彈出序列。

樣例

這道題目只是要求判斷後面的序列是否是前面序列彈出的結果,並不是要求求解所有彈出序列,所以可以得知,如果當前棧頂的元素與當前彈出序列的元素相等了,那麼就需要將原序列棧頂彈出,否則就需要一直壓入元素,直到遇見了與棧頂相等的元素。這樣的操作就需要新開闢乙個棧用於儲存原序列的元素。由於這兩個序列等長,所以新開闢的棧元素為空時返回true,否則返回false。

class

solution

}return stk.

empty()

;}};

棧的壓入彈出序列

題目 輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列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...