当前位置:网站首页>来n遍剑指--09. 用两个栈实现队列
来n遍剑指--09. 用两个栈实现队列
2022-07-31 08:57:00 【秦 羽】
专栏前言:
本专栏主要是算法训练,目的很简单。在掌握基本的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(); */
课后习题:
没有啦
边栏推荐
- Aleo Testnet3规划大纲
- 基于golang的swagger超贴心、超详细使用指南【有很多坑】
- 【小程序项目开发-- 京东商城】uni-app之自定义搜索组件(下) -- 搜索历史
- SQL 入门之第一讲——MySQL 8.0.29安装教程(windows 64位)
- [MySQL exercises] Chapter 5 · SQL single table query
- SSM integration case study (detailed)
- [Mini Program Project Development--Jingdong Mall] Custom Search Component of uni-app (Middle)--Search Suggestions
- 【小程序项目开发-- 京东商城】uni-app之自定义搜索组件(中)-- 搜索建议
- 期刊会议排名、信息检索网站推荐以及IEEE Latex模板下载
- Vulkan与OpenGL对比——Vulkan的全新渲染架构
猜你喜欢
35-Jenkins-共享库应用
sqli-labs(less-11)
[Cloud native] Introduction and use of Feign of microservices
[Yellow ah code] Introduction to MySQL - 3. I use select, the boss directly drives me to take the train home, and I still buy a station ticket
基于学生成绩管理系统(附源代码及数据库)
SSM integration case study (detailed)
文件管理:目录管理
关于挂载EXfat文件格式U盘失败的问题
文件的逻辑结构与物理结构的对比与区别
SSM整合案例分析(详解)
随机推荐
科目三:右转弯
【Unity】编辑器扩展-02-拓展Hierarchy视图
基于学生成绩管理系统(附源代码及数据库)
skynet中一条消息从取出到处理完整流程(源码刨析)
Small application project development, jingdong mall 】 【 uni - app custom search component (below) - search history
Andoird开发--指南针(基于手机传感器)
一、MySQL主从复制原理
【Unity】编辑器扩展-04-拓展Scene视图
哪些字符串会被FastJson解析为null呢
Pytorch学习记录(七):自定义模型 & Auto-Encoders
2022 Hangzhou Electric Cup Super League 3
JSP application对象简介说明
【小程序项目开发-- 京东商城】uni-app之自定义搜索组件(下) -- 搜索历史
免安装版的Mysql安装与配置——详细教程
SQL statement knowledge
sqlmap使用教程大全命令大全(图文)
(selenium)Service geckodriver unexpectedly exited. Status code was: 64
A brief introduction to the SSM framework
Docker-compose安装mysql
vue element form表单规则校验 点击提交后直接报数据库错误,没有显示错误信息