leetcode剑指offe刷题-第一题-用两个栈实现队列
leetcode剑指offe刷题-第一题
文章目录
- leetcode剑指offe刷题-第一题
- 前言
- 一、用两个栈实现队列
- 1.思路
- 2.代码如下
- 总结
前言
记录一下自己刷算法的路程。
leetcode剑指offer地址
https://leetcode.cn/study-plan/lcof/?progress=k5xariv
一、用两个栈实现队列
难度:简单
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )
leetcode链接:https://leetcode.cn/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof
1.思路
定义两个栈,一个存数据栈,一个出数据栈,
初始化类直接new 两个栈
appendTail 时 将数据压入存数据栈;
deleteHead时即删除队列头节点,此时做判断,
- 如果出数据栈为空,就接着判断存数据栈是否为空,如果存数据栈为空就表示,队列中没数据。直接返回-1。 如果存数据站不为空,则依次将存数据栈的数据依次压入出数据栈,利用两次栈的push,达到队列先进先出的效果.
- 如果出数据栈不为空,直接删除出数据栈的栈顶元素。
2.代码如下
代码如下(示例):
class CQueue {public Stack<Integer> inStack;public Stack<Integer> outStack;public CQueue() {inStack = new Stack<>();outStack = new Stack<>();}public void appendTail(int value) {inStack.push(value);}public int deleteHead() {if(outStack.isEmpty()){if(inStack.isEmpty()){return -1;}while (!inStack.isEmpty()){outStack.push(inStack.pop());}}return outStack.pop();}
}
总结
以上,加油。
leetcode剑指offe刷题-第一题-用两个栈实现队列相关推荐
- 剑指offer——面试题7:用两个栈实现队列
剑指offer--面试题7:用两个栈实现队列 Solution1: 注意栈的基本操作与vector略有不同~ class Solution { public:void push(int node) { ...
- 剑指offer:面试题09. 用两个栈实现队列
题目:用两个栈实现队列 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有 ...
- [剑指offer]面试题7:用两个栈实现队列
面试题7:用两个栈实现队列 题目:用两个栈实现一个队列.队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能. 用两个栈模 ...
- 【剑指offer】(七)—— 用两个栈实现队列
题目:用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead,分别完成在队尾插入节点和在队列头部删除节点的操作. template<typena ...
- 【LeetCode 剑指offer刷题】数组题2:57 有序数组中和为s的两个数(167 Two Sum II - Input array is sorted)...
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 57 有序数组中和为s的两个数 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是 ...
- 【LeetCode 剑指offer刷题】查找与排序题14:Wiggle Sort(系列)
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) Wiggle Sort II Given an unsorted array nums, reorder it su ...
- 【LeetCode 剑指offer刷题】矩阵题1:4 有序矩阵中的查找( 74. Search a 2D Matrix )(系列)...
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 74. Search a 2D Matrix Write an efficient algorithm that s ...
- 【LeetCode 剑指offer刷题】树题6:28 对称二叉树(101. Symmetric Tree)
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 101. Symmetric Tree /** * Definition for a binary tree no ...
- 【LeetCode 剑指offer刷题】字符串题6:67 把字符串转成整数
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 67 把字符串转成整数 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符 ...
最新文章
- 转:RemObjects SDK 简介
- winform 系统托盘程序
- elasticsearch python API
- c语言编译 64位,cmake – 编译32位和64位
- Jquery操作Table
- linux内存一直占满问题
- 拓端tecdat|R语言ISLR工资数据进行多项式回归和样条回归分析
- 2021年焊工作业压力焊考试题库
- python爬虫大众点评_Python爬虫(三)爬取大众点评网
- Qt编写小清新风格界面
- 面试官灵魂三问:什么是SOA?什么是微服务?SOA和微服务有什么区别?
- python编写库存管理_python编写商品管理
- 微信聊天记录如何恢复
- OKR是上下同欲的载体
- DDD学习(一)——通用语言
- 【bzoj1502】 NOI2005—月下柠檬树
- uni-app实现图片的上传和裁剪
- 代码设置窗体的弹出模式
- 安卓开发 输入单词表,点击读出单词 TextToSpeech
- matlab仿真图同时画两张,matlab怎么把两个图放在一起
热门文章
- Day12-2021.1.20-华为硬件笔试
- 基于WPF的科学计算器程序
- 【unity】动画状态机中Transition的settings两段动画如何设置?
- Alibaba Arthas快速入门 简单易懂
- 数据结构之不相交集类
- css 去除png图片黑色背景色,css的filter给png图片换色
- C# 小程序 getPhoneNumber(e),后台解析手机号码
- Win10 1809版本多用户远程登陆
- 被人盗用身份证复印件办了信用卡的后续处理
- 525、Java工程师的进阶之路 -【 RocketMQ (二)】 2022.01.06