当前位置:网站首页>[offer9]用两个栈实现队列
[offer9]用两个栈实现队列
2022-07-06 09:17:00 【劲腰傩舞】
题目
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )
输入:
[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”]
[[],[3],[],[]]
输出:[null,null,3,-1]
//解释:输入中。上面的中括号为操作。下面的中括号为操作的数据。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class CQueue {
private Stack<Integer> in;//专门用来入队
private Stack<Integer> out;//出队
public CQueue() {
in=new Stack<>();
out=new Stack<>();
}
public void appendTail(int value) {
in.push(value);
}
public int deleteHead() {
if(!out.empty()){
return out.pop();
}else{
while(!in.empty()){
out.push(in.pop());
}
return out.isEmpty()?-1:out.pop();
}
}
}
边栏推荐
猜你喜欢
Redis 缓存更新策略,缓存穿透、雪崩、击穿问题
Cannot change version of project facet Dynamic Web Module to 2.3.
Mp3mini playback module Arduino < dfrobotdfplayermini H> function explanation
Redis based distributed ID generator
[esp32 learning-2] esp32 address mapping
Whistle+switchyomega configure web proxy
AMBA、AHB、APB、AXI的理解
Basic operations of databases and tables ----- modifying data tables
锂电池基础知识
Arm pc=pc+8 is the most understandable explanation
随机推荐
Basic operations of databases and tables ----- view data tables
arduino获取随机数
MySQL replacement field part content
小天才电话手表 Z3工作原理
基于Redis的分布式锁 以及 超详细的改进思路
Gateway 根据服务名路由失败,报错 Service Unavailable, status=503
JS function promotion and declaration promotion of VaR variable
JS變量類型以及常用類型轉換
Several declarations about pointers [C language]
【ESP32学习-2】esp32地址映射
arduino JSON数据信息解析
Common DOS commands
Page performance optimization of video scene
Variable parameter principle of C language function: VA_ start、va_ Arg and VA_ end
关键字 inline (内联函数)用法解析【C语言】
关于Gateway中使用@Controller的问题
js 变量作用域和函数的学习笔记
level16
Selective sorting and bubble sorting [C language]
JS variable types and common type conversions