驗證棧序列

2021-09-18 00:19:57 字數 495 閱讀 6817

給定 pushed 和 popped 兩個序列,只有當它們可能是在最初空棧上進行的推入 push 和彈出 pop 操作序列的結果時,返回 true;否則,返回 false 。

0 <= pushed.length == popped.length <= 1000

0 <= pushed[i], popped[i] < 1000

pushed 是 popped 的排列。

申請乙個棧空間記為stackdata,根據pushed陣列中元素的順序不斷向stackdata中壓入元素,每壓入乙個元素就判斷該元素是否和彈出序列中未匹配的頭元素是否相等,如果相等,則將該元素從棧中彈出,並判斷下乙個棧頂元素是否和彈出序列中的未匹配的頭元素是否一致;如果不相等則繼續壓入。若最終棧為空說明popped中的序列符合彈出順序返回true。

public class stackverify 

}return stack.isempty();

}}

驗證棧序列

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

驗證棧序列

對乙個空棧進行 push 和 pop 操作各 n 次,使得 1 n 每個數都被 push 和 pop 一次,n 次 push 的數按照順序形成排列 a,n 次 pop 的數按照順序形成排列 b,此時稱 a 和 b 互為 棧轉化序列 input 612 3456 5643 21output truee...

946 驗證棧序列

給定pushed和popped兩個序列,只有當它們可能是在最初空棧上進行的推入 push 和彈出 pop 操作序列的結果時,返回true 否則,返回false。示例 1 輸入 pushed 1,2,3,4,5 popped 4,5,3,2,1 輸出 true 解釋 我們可以按以下順序執行 push ...