LeetCode 946 驗證棧序列(棧)

2021-10-01 12:20:36 字數 1338 閱讀 9432

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

示例 1:

輸入:pushed =[1

,2,3

,4,5

], popped =[4

,5,3

,2,1

]輸出:true

解釋:我們可以按以下順序執行:

push(1

),push(2

),push(3

),push(4

),pop()-

>4,

push(5

),pop()-

>5,

pop()-

>3,

pop()-

>2,

pop()-

>

1示例 2:

輸入:pushed =[1

,2,3

,4,5

], popped =[4

,3,5

,1,2

]輸出:false

解釋:1 不能在 2 之前彈出。 0

<= pushed.length == popped.length <=

1000

0<= pushed[i]

, popped[i]

<

1000

pushed 是 popped 的排列。

《劍指offer》同題:面試題31. 棧的壓入、彈出序列

-1)//不相等,且不在最後乙個

i++;else

//不相等,且在最後乙個

Leetcode 946 驗證棧序列

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

leetcode 946 驗證棧序列

思路 用乙個棧去模擬出入棧的過程 比如,當前pushed popped 時,借助乙個額外的棧s,置i 0,j 0 i指向pushed,j指向popped popped j 4,所以先將,1,2,3壓入棧s中,此時i指向了pushed中的4,j指向了popped中的4,它倆相同,所以可以不用入棧,相當...

LeetCode 946 驗證棧序列

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