剑指 Offer 31. 栈的压入、弹出序列
class Solution:
def validateStackSequences(self, pushed: List[int], popped: List[int]) -> bool:
#接替思路:模拟栈的压入、弹出过程,最后判断弹出序列popped是否为空
# 压栈的时候同时判断是否需要出栈。
# pushed = 【1,2,3,4,5】
# popped = 【4,5,3,2,1】
# 出入栈过程:1压栈,同时判断1是否需要出栈
stack = []
for i in pushed:
stack.append(i)
while True:
if not stack or not popped:
break
if stack[-1] == popped[0]:
popped.pop(0)
stack.pop(-1)
else:
break
return popped == []