您好,欢迎来到年旅网。
搜索
您的当前位置:首页Python刷leetcode--栈模拟队列、队列模拟栈

Python刷leetcode--栈模拟队列、队列模拟栈

来源:年旅网

栈模拟队列 [需要两个栈]

1.s1负责入队操作
2.s2中如果没有元素就从s1中出栈出完,s2再出栈
3.处理特殊情况,如果是空队列出队。判断两次是否s2空就行

class CQueue:

    def __init__(self):
        self.s1 = []
        self.s2 = []

    def appendTail(self, value: int) -> None:
        self.s1.append(value)

    def deleteHead(self) -> int:
        if len(self.s2) == 0:
            while len(self.s1):
                self.s2.append(self.s1.pop())
        if len(self.s2) == 0:
            return -1
        return self.s2.pop()

队列模拟栈[不需要辅助队列]

如何用队列模拟栈。
只需要入栈就是入队,出栈就循环栈长度减一次,然后出队。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务