java 栈和队列实现迷宫代码_LeetCode每日一题--剑指 Offer 09. 用两个栈实现队列(Java)
生活随笔
收集整理的這篇文章主要介紹了
java 栈和队列实现迷宫代码_LeetCode每日一题--剑指 Offer 09. 用两个栈实现队列(Java)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
DailyChallenge
劍指 Offer 09. 用兩個棧實現(xiàn)隊列
Easy20200630
Description
用兩個棧實現(xiàn)一個隊列。隊列的聲明如下,請實現(xiàn)它的兩個函數(shù) appendTail 和 deleteHead ,分別完成在隊列尾部插入整數(shù)和在隊列頭部刪除整數(shù)的功能。(若隊列中沒有元素,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)用
鏈接:
https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof
Solution
注意 stack 不要用stack,要用deque。
class CQueue {Deque<Integer> stack1;Deque<Integer> stack2;public CQueue() {stack1 = new LinkedList<>();stack2 = new LinkedList<>();}public void appendTail(int value) {stack1.add(value);}public int deleteHead() {if(stack2.isEmpty()){while(!stack1.isEmpty()){stack2.add(stack1.pop());}}return stack2.isEmpty()? -1 : stack2.pop();} }/*** Your CQueue object will be instantiated and called as such:* CQueue obj = new CQueue();* obj.appendTail(value);* int param_2 = obj.deleteHead();*/總結(jié)
以上是生活随笔為你收集整理的java 栈和队列实现迷宫代码_LeetCode每日一题--剑指 Offer 09. 用两个栈实现队列(Java)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 运算符重载_Python3
- 下一篇: python程序 爱意_[Python]