【Leetcode刷题Python】剑指 Offer 09. 用两个栈实现队列
2023-09-14 09:13:02 时间
1 题目
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )
示例 1:
输入:
[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”]
[[],[3],[],[]]
输出:[null,null,3,-1]
示例 2:
输入:
[“CQueue”,“deleteHead”,“appendTail”,“appendTail”,“deleteHead”,“deleteHead”]
[[],[],[5],[2],[],[]]
输出:[null,-1,null,null,5,2]
2 解析
栈1进,栈2出,如果栈2为空,需要将栈1的数据倒入到栈2中,再出
3 python实现
class CQueue:
def __init__(self) -> None:
self.Stack_in = []
self.Stack_out= []
def appendTail(self,n):
self.Stack_in.append(n)
def deleteHead(self):
if not self.Stack_out:
if not self.Stack_in:
return -1
else:
while self.Stack_in:
self.Stack_out.append(self.Stack_in.pop())
return self.Stack_out.pop()
相关文章
- 【Python成长之路】python 基础篇 -- 装饰器【华为云分享】
- python使用单链表节点类
- socket网络编程【python】
- 【Python五篇慢慢弹(4)】模块异常谈python
- Python绘制六种可视化图表详解,三维图最炫酷!你觉得呢?
- Python 3.14 将比 C++ 更快
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(计算器简单功能)
- 成功解决tensorflow.python.framework.errors_impl.InvalidArgumentError: slice index 1 of dimension 0 out o
- 已解决2. Set PROTOCOL_BUPFERS_PYTHON_iMPLEMENTATION=python (but this will use pure-Python parsing and w
- 《看漫画学Python》1、2版分享,python最佳入门教程,中学生用业余时间都能学会,北大教授看完都这样定义它
- Python实现哈里斯鹰优化算法(HHO)优化卷积神经网络回归模型(CNN回归算法)项目实战
- python基础之函数
- python 十进制转2进制
- 【Leetcode刷题Python】203.移除链表元素
- 【Leetcode刷题Python】739. 每日温度
- 【Leetcode刷题Python】剑指 Offer II 082. 含有重复元素集合的组合
- 【Leetcode刷题Python】 LeetCode 2038. 如果相邻两个颜色均相同则删除当前颜色
- 【Leetcode刷题Python】1143. 最长公共子序列
- 〖Python自动化办公篇⑳〗 - python实现邮件自动化 - 发送html邮件和带附件的邮件
- python处理一个文件夹下的所有文件并保存在新的文件夹
- 利用Python海龟绘图画一个世界杯的足球