当前位置:网站首页>剑指 Offer 09. 用两个栈实现队列
剑指 Offer 09. 用两个栈实现队列
2022-07-05 05:26:00 【ThE wAlkIng D】
题目描述
问题解析(本题使用滑动窗口+HashMap)
1.首先定义两个栈s1,s2,s1的栈顶作为队尾,s2的栈顶作为队投
2.删除操作首先判断s2是否为空 如果不为空,把栈顶元素弹出就是头元素 如果为空,将s1所有元素弹出入栈到s2
3.s2为空返回-1,不为空返回栈顶元素
代码实例
class CQueue {
Stack<Integer> s1 = new Stack<>(); // s1的栈顶是队尾,新加入的元素在该栈栈顶
Stack<Integer> s2 = new Stack<>(); // s2的栈顶是队头
public CQueue() {
}
public void appendTail(int value) {
s1.push(value); // 压入栈s1
}
public int deleteHead() {
if(!s2.isEmpty()) {
// 若s2不空,直接弹出栈顶元素即为队头元素
return s2.pop();
}
// s2为空,将s1所有元素弹出,入栈到s2
while(!s1.isEmpty()) {
s2.push(s1.pop());
}
return s2.isEmpty() ? -1 : s2.pop(); // s2为空,返回-1;s2不为空返回栈顶元素
}
}
/** * Your CQueue object will be instantiated and called as such: * CQueue obj = new CQueue(); * obj.appendTail(value); * int param_2 = obj.deleteHead(); */
}
}
边栏推荐
- [merge array] 88 merge two ordered arrays
- SAP-修改系统表数据的方法
- 使用命令符关闭笔记本自带键盘命令
- 二十六、文件系统API(设备在应用间的共享;目录和文件API)
- [es practice] use the native realm security mode on es
- Under the national teacher qualification certificate in the first half of 2022
- Heap sort summary
- PMP考试敏捷占比有多少?解疑
- [轉]: OSGI規範 深入淺出
- Software test -- 0 sequence
猜你喜欢
Research on the value of background repeat of background tiling
Gbase database helps the development of digital finance in the Bay Area
Pointnet++的改进
质量体系建设之路的分分合合
Optimization scheme of win10 virtual machine cluster
Reverse one-way linked list of interview questions
SAP-修改系统表数据的方法
[turn to] MySQL operation practice (I): Keywords & functions
lxml.etree.XMLSyntaxError: Opening and ending tag mismatch: meta line 6 and head, line 8, column 8
Magnifying glass effect
随机推荐
SDEI初探-透过事务看本质
SAP method of modifying system table data
What is the agile proportion of PMP Exam? Dispel doubts
Using HashMap to realize simple cache
[allocation problem] 455 Distribute cookies
[to be continued] [UE4 notes] L1 create and configure items
GBase数据库助力湾区数字金融发展
[binary search] 34 Find the first and last positions of elements in a sorted array
Haut OJ 1401: praise energy
挂起等待锁 vs 自旋锁(两者的使用场合)
Research on the value of background repeat of background tiling
Embedded database development programming (VI) -- C API
Applet Live + e - commerce, si vous voulez être un nouveau e - commerce de détail, utilisez - le!
第六章 数据流建模—课后习题
When will Wei Lai, who has been watched by public opinion, start to "build high-rise buildings" again?
YOLOv5添加注意力機制
FVP和Juno平台的Memory Layout介绍
Web APIs DOM node
Add level control and logger level control of Solon logging plug-in
Binary search basis