【双100%提交】剑指 Offer 09. 用两个栈实现队列
生活随笔
收集整理的這篇文章主要介紹了
【双100%提交】剑指 Offer 09. 用两个栈实现队列
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
立志用最少的代碼做最高效的表達(dá)
用兩個棧實(shí)現(xiàn)一個隊(duì)列。隊(duì)列的聲明如下,請實(shí)現(xiàn)它的兩個函數(shù) appendTail 和 deleteHead ,分別完成在隊(duì)列尾部插入整數(shù)和在隊(duì)列頭部刪除整數(shù)的功能。(若隊(duì)列中沒有元素,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 進(jìn)行 10000 次調(diào)用
class CQueue {Stack<Integer>s_in;Stack<Integer>s_out;public CQueue() {s_in = new Stack<>();s_out = new Stack<>();}public void appendTail(int value) {s_in.push(value);}public int deleteHead() {if(!s_out.isEmpty()) {return s_out.pop();} else {while(!s_in.isEmpty()) {s_out.push(s_in.pop());}return (s_out.isEmpty() ? -1 : s_out.pop());}} }
總結(jié)
以上是生活随笔為你收集整理的【双100%提交】剑指 Offer 09. 用两个栈实现队列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剑指 Offer 07. 重建二叉树【千
- 下一篇: 【双百解法】剑指 Offer 10- I