如何使用兩個(gè)棧實(shí)現(xiàn)隊(duì)列Java
這篇文章主要介紹了如何使用兩個(gè)棧實(shí)現(xiàn)隊(duì)列Java,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
題目
用兩個(gè)棧來(lái)實(shí)現(xiàn)一個(gè)隊(duì)列,完成隊(duì)列的Push和Pop操作。 隊(duì)列中的元素為int類型。
題解
描述
棧的特性是先進(jìn)后出,隊(duì)列的特點(diǎn)是先進(jìn)先出,當(dāng)數(shù)字依次入棧1后,依次出棧1并且壓入棧2后,然后再出棧的順序與進(jìn)入棧1的順序是一致的。
因此,進(jìn)入隊(duì)列通過(guò)壓入棧1實(shí)現(xiàn),彈出隊(duì)列通過(guò)彈出棧2的棧頂元素實(shí)現(xiàn),在彈出元素時(shí)需要保證當(dāng)前棧彈出元素的順序和隊(duì)列彈出元素的順序一致,即棧1的元素應(yīng)當(dāng)全部壓入到棧2中。
code
import java.util.Stack;
public class Solution {
Stack<Integer> stack1 = new Stack<Integer>();
Stack<Integer> stack2 = new Stack<Integer>();
public void push(int node) {
//直接入stack1棧
stack1.push(node);
}
public int pop() {
//若stack2為空
if(stack2.isEmpty()){
while(!stack1.isEmpty()){
stack2.push(stack1.pop());
}
}
return stack2.pop();
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java 棧和隊(duì)列的相互轉(zhuǎn)換詳解
- Java深入了解數(shù)據(jù)結(jié)構(gòu)之棧與隊(duì)列的詳解
- Java數(shù)據(jù)結(jié)構(gòu)之棧與隊(duì)列實(shí)例詳解
- Java數(shù)據(jù)結(jié)構(gòu)專題解析之棧和隊(duì)列的實(shí)現(xiàn)
- Java數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)之棧和隊(duì)列
- Java特性隊(duì)列和棧的堵塞原理解析
- Java數(shù)據(jù)結(jié)構(gòu)之鏈表、棧、隊(duì)列、樹的實(shí)現(xiàn)方法示例
- Java編程用兩個(gè)棧實(shí)現(xiàn)隊(duì)列代碼分享
- Java棧和基礎(chǔ)隊(duì)列的實(shí)現(xiàn)詳解
相關(guān)文章
Java 中函數(shù) Function 的使用和定義示例小結(jié)
這篇文章主要介紹了Java 中函數(shù) Function 的使用和定義小結(jié),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-07-07
springboot整合JavaCV實(shí)現(xiàn)視頻截取第N幀并保存圖片
這篇文章主要為大家詳細(xì)介紹了springboot如何整合JavaCV實(shí)現(xiàn)視頻截取第N幀并保存為圖片,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-08-08
java開發(fā)Dubbo負(fù)載均衡與集群容錯(cuò)示例詳解
這篇文章主要為大家介紹了java開發(fā)Dubbo負(fù)載均衡與集群容錯(cuò)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11
Spring?Boot?+?Spring?Batch?實(shí)現(xiàn)批處理任務(wù)的詳細(xì)教程
這篇文章主要介紹了Spring?Boot+Spring?Batch實(shí)現(xiàn)批處理任務(wù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08
MybatisPlus處理大表查詢的實(shí)現(xiàn)步驟
在實(shí)際工作中當(dāng)指定查詢數(shù)據(jù)過(guò)大時(shí),我們一般使用分頁(yè)查詢的方式一頁(yè)一頁(yè)的將數(shù)據(jù)放到內(nèi)存處理,本文主要介紹了MybatisPlus處理大表查詢的實(shí)現(xiàn)步驟,感興趣的可以了解一下2024-08-08
HashSet如何保證元素不重復(fù)(面試必問(wèn))
HashSet 不保證集合的迭代順序,但允許插入 null 值,也就是說(shuō)它可以將集合中的重復(fù)元素自動(dòng)過(guò)濾掉,保證存儲(chǔ)在 HashSet 中的元素都是唯一的,這篇文章主要介紹了HashSet如何保證元素不重復(fù)(面試必問(wèn)),需要的朋友可以參考下2021-12-12
Java拷貝數(shù)組方法Arrays.copyOf()是地址傳遞的證明實(shí)例
今天小編就為大家分享一篇關(guān)于Java拷貝數(shù)組方法Arrays.copyOf()是地址傳遞的證明實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
Java EE過(guò)濾器優(yōu)先級(jí)控制的實(shí)例解讀
通過(guò)使用@Priority注解,可以控制JavaEE應(yīng)用中過(guò)濾器的執(zhí)行順序,在上面的示例中,我們通過(guò)設(shè)置不同的優(yōu)先級(jí),實(shí)現(xiàn)了TimeFilter和LogFilter的執(zhí)行順序控制2025-02-02

