棧的壓入 彈出序列

2022-03-18 03:52:21 字數 754 閱讀 8245

棧的壓入、彈出序列

題目描述

輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。(注意:這兩個序列的長度是相等的)

剛開始沒明白題意, 後來才知道是把序列依次壓進棧中, 不過中間可以有彈出的操作, 最後彈出元素的順序要和第二列的元素順序相同

沒想出來(明白題意後也沒有想出來:(), 看書+牛客討論, 只要第二列頭元素不與第一列的頭元素相同, 就把第一列元素持續壓入棧中, 相同則把棧中的元素彈出, 開始比較第二列的下乙個元素, 最後當把第一列元素壓完後, 結束迴圈, 根據判斷棧中的元素是否彈完來判斷返回結果

class solution 

stackmystack;

for(int i = 0,j = 0 ;i < pushv.size();)

}return mystack.empty();

}};

牛客網上是用vector模仿stack, 多學了兩個vector的方法

class solution 

}return mystack.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...