题解 | #栈的压入、弹出序列#

栈的压入、弹出序列

https://www.nowcoder.com/practice/d77d11405cc7470d82554cb392585106

class Solution:
    def IsPopOrder(self, pushV: List[int], popV: List[int]) -> bool:
        # 辅助数组
        s = []
        # 入栈的index
        j = 0
        n = len(pushV)
        for i in range(n):
            # 入栈
            while j<n and (s == [] or s[-1]!=popV[i]):
                s.append(pushV[j])
                j += 1
            if s[-1]==popV[i]:
                s.pop()
            else:
                return False
        return True

记得在判断的时候写判断s是否为空 因为如果s为空的时候s[-1]是没有意义的,会产生数组的越界

全部评论

相关推荐

安静的鲸鱼offer...:神仙级别hr,可遇不可求,甚至他可能也是突然有感而发。只能说遇上是件幸事。
秋招开始捡漏了吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务