LeetCode 232. 用栈实现队列(双栈法-队列)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 232. 用栈实现队列(双栈法-队列)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 題目
使用棧實(shí)現(xiàn)隊(duì)列的下列操作:
push(x) – 將一個(gè)元素放入隊(duì)列的尾部。
pop() – 從隊(duì)列首部移除元素。
peek() – 返回隊(duì)列首部的元素。
empty() – 返回隊(duì)列是否為空。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/implement-queue-using-stacks
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
類似題目LeetCode 225. 用隊(duì)列實(shí)現(xiàn)棧
2. 解題
class MyQueue {stack<int> inSTK;stack<int> outSTK; public:/** Initialize your data structure here. */MyQueue() { } /** Push element x to the back of queue. */void push(int x) {inSTK.push(x);}/** Removes the element from in front of queue and returns that element. */int pop() {if(!outSTK.empty()){int tp = outSTK.top();outSTK.pop();return tp;}else{while(!inSTK.empty()){outSTK.push(inSTK.top());inSTK.pop();}int tp = outSTK.top();outSTK.pop();return tp;}}/** Get the front element. */int peek() {if(!outSTK.empty())return outSTK.top();else{while(!inSTK.empty()){outSTK.push(inSTK.top());inSTK.pop();}return outSTK.top();}}/** Returns whether the queue is empty. */bool empty() {return inSTK.empty() && outSTK.empty();} }; 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的LeetCode 232. 用栈实现队列(双栈法-队列)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 回溯应用-- 0-1背包问题
- 下一篇: 使用swiper_关于使用swiper制