当前位置:网站首页>Come n times - 09. Implement queues with two stacks
Come n times - 09. Implement queues with two stacks
2022-07-31 09:20:00 【Qin Yu】
专栏前言:
本专栏主要是算法训练,目的很简单.在掌握基本的java知识后,学习最重要的算法知识,在学习之前首先要对自身有一定的理解,如果不知道怎么做欢迎来私聊.
算法的过程很枯燥,但是也很特别,不断地刷题,不断地分享才会越来越好,给别人讲明白才是真正学会了.在分享中学会知识.
坚持就是胜利~~~
题目描述:
用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 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]
限制:
1 <= values <= 10000
最多会对 appendTail、deleteHead 进行 10000 次调用
解题1:
class CQueue {
LinkedList<Integer> stack1;
LinkedList<Integer> stack2;
public CQueue() {
stack1 = new LinkedList<>();
stack2 = new LinkedList<>();
}
public void appendTail(int value) {
stack1.add(value);
}
public int deleteHead() {
if(stack2.isEmpty()){
if(stack1.isEmpty()){
return -1;
}
while(!stack1.isEmpty()){
stack2.add(stack1.pop());
}
return stack2.pop();
}else{
return stack2.pop();
}
}
}
/** * Your CQueue object will be instantiated and called as such: * CQueue obj = new CQueue(); * obj.appendTail(value); * int param_2 = obj.deleteHead(); */
课后习题:
没有啦

边栏推荐
- qt pass custom structure parameters in different threads
- 期刊会议排名、信息检索网站推荐以及IEEE Latex模板下载
- 二叉树的搜索与回溯问题(leetcode)
- Kotlin—基本语法 (四)
- Job hunting product manager [9] How to write a good resume in job hunting season?
- qt在不同的线程中传递自定义结构体参数
- 如何在 TiDB Cloud 上使用 Databricks 进行数据分析 | TiDB Cloud 使用指南
- 第二十二课,实例化(instancing)
- Flink1.15 source code reading - PER_JOB vs APPLICATION execution process
- 【微信小程序开发】生命周期与生命周期函数
猜你喜欢
随机推荐
文件管理:目录管理
OpenGL es 初识
如何在 TiDB Cloud 上使用 Databricks 进行数据分析 | TiDB Cloud 使用指南
Kotlin—基本语法 (五)
js radar chart statistical chart plugin
Define event types in Splunk Web
来n遍剑指--06. 从尾到头打印链表
js implements the 2020 New Year's Day countdown bulletin board
MySQL (2)
postgresql 生成随机日期,随机时间
PyQt5快速开发与实战 9.4 Matplotlib在PyQt中的应用
高并发-高可用-高性能
高并发高可用高性能的解决方案
djangoWeb应用框架+MySQL数据4
Modular specifications
来n遍剑指--07. 重建二叉树
Kotlin入门介绍篇
作为面试官,关于线程池的问题我一般这样套路...
SSM integration case study (detailed)
js滚动条滚动到指定元素









