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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务