LeetCode 946 Validate Stack Sequences
思想:循环判断进栈序列,当进栈序列的值没有遇到与出栈序列相同时压栈,循环当栈不为空并且出栈序列的第一个值等于栈顶元素时出栈,出栈指针后移,若栈空则序列正确
class Solution(object):
def validateStackSequences(self, pushed, popped):
"""
:type pushed: List[int]
:type popped: List[int]
:rtype: bool
"""
stack=[]
num=len(pushed)
p=0
for x in pushed:
stack.append(x)
while stack and (stack[-1]==popped[p]):
stack.pop()
p=p+1
return not len(stack)