題目描述
輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否為該棧的彈出順序。
假設壓入棧的所有數字均不相等。
例如序列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,
*/bool ispoporder(vectorpushv, vectorpopv)
} return s.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則不可能是合法的彈出序列。問題出自 劍指offer 面試題22。解題 思路...
JS實現判斷棧的壓入 彈出序列
作為前端,接觸演算法的機會可能比較少,但是我們腦子可不能鏽了 一道題目 輸入兩個整數序列,第乙個序列表示棧的壓入順序,判斷第二個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如 1,2,3,4,5是某個棧的壓入順序,序列4,5,3,2,1是該棧對應的乙個彈出序列,但4,3,5,1,2就不...