题目
解法
模拟
class Solution:
def validateStackSequences(self, pushed: List[int], popped: List[int]) -> bool:
if len(popped)==0: return True
stack = []
p = 0
for i in range(len(pushed)):
stack.append(pushed[i])
while p<len(popped) and len(stack)>0 and popped[p]==stack[-1]: # 注意这里是while
p=p+1
stack.pop(-1)
if len(stack)>0 or len(popped[p:])>0: # 因为题目说了 popped是pushed的排列
return False
return True