python力扣刷题——946. 验证栈序列

题目:946. 验证栈序列

给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop
操作序列的结果时,返回 true;否则,返回 false 。
在这里插入图片描述

方法一:

利用队列和栈的特点

class Solution:
    def validateStackSequences(self, pushed: List[int], popped: List[int]) -> bool:
        stack = []
        for i in pushed:
            stack.append(i)
            while len(stack):
                if stack[-1] == popped[0]:
                    stack.pop()
                    popped.pop(0)
                else:
                    break
        return len(popped) == 0

版权声明:本文为weixin_45455015原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。