棧的壓入 彈出序列

2021-10-04 08:02:53 字數 905 閱讀 7297

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

這個比較簡單,只需要模擬棧的操作就i可以得到結果!出錯點在粗心,if not 的操作忘了把後面的情況也加上not

判斷 len(poped) == b

或者是 len(a) == 0都可以。

break 是結束當前迴圈,只是當前層,不包括外層迴圈;continue是當前迴圈繼續進行,此迴圈的後續部分不再進行;

return是結束此函式。

class

solution

(object):

defvalidatestacksequences

(self, pushed, popped)

:"""

:type pushed: list[int]

:type popped: list[int]

:rtype: bool

"""ifnot popped or

not pushed:

return

true

a =b =

0for i in pushed:

while a[-1

]== popped[b]

: a.pop(

) b +=1if

len(a)==0

:break

iflen

(a)==0:

return

true

else

:return

false

棧的壓入彈出序列

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