国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

LeetCode 劍指offer 09.用兩個棧實現(xiàn)隊列

這篇具有很好參考價值的文章主要介紹了LeetCode 劍指offer 09.用兩個棧實現(xiàn)隊列。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

LeetCode 劍指offer 09.用兩個棧實現(xiàn)隊列

題目描述

用兩個棧實現(xiàn)一個隊列。隊列的聲明如下,請實現(xiàn)它的兩個函數(shù) appendTail 和 deleteHead ,分別完成在隊列尾部插入整數(shù)和在隊列頭部刪除整數(shù)的功能。(若隊列中沒有元素,deleteHead 操作返回 -1 )

這道題很簡單,主要理解棧與隊列的區(qū)別,注意細節(jié)就可以

LeetCode 劍指offer 09.用兩個棧實現(xiàn)隊列,leetcode,GO,leetcode,算法,職場和發(fā)展

題解

c++

class CQueue {
public:
    stack<int> s1, s2;
    CQueue() {
        while (!s1.empty()) {
            s1.pop();
        }
        while (!s2.empty()) {
            s2.pop();
        }
    }
    
    void appendTail(int value) {
        s1.push(value);
    }
    
    int deleteHead() {
        if (s2.empty()) {
            while(!s1.empty()) {
                s2.push(s1.top());
                s1.pop();
            }
        }
        if (s2.empty()) {
            return -1;
        } else {
            int app = s2.top();
            s2.pop();
            return app;
        }
    }
};

/**
 * Your CQueue object will be instantiated and called as such:
 * CQueue* obj = new CQueue();
 * obj->appendTail(value);
 * int param_2 = obj->deleteHead();
 */

Go文章來源地址http://www.zghlxwxcb.cn/news/detail-697919.html

type CQueue struct {
    inStack, outStack []int
}

func Constructor() CQueue {
    return CQueue{}
}

func (this *CQueue) AppendTail(value int)  {
    this.inStack = append(this.inStack, value)
}

func (this *CQueue) DeleteHead() int {
    if len(this.outStack) == 0 {
        if len(this.inStack) == 0 {
            return -1
        }
        this.in2out()
    }
    value := this.outStack[len(this.outStack)-1]
    this.outStack = this.outStack[:len(this.outStack)-1]
    return value
}

func (this *CQueue) in2out() {
    for len(this.inStack) > 0 {
        this.outStack = append(this.outStack, this.inStack[len(this.inStack)-1])
        this.inStack = this.inStack[:len(this.inStack)-1]
    }
}

到了這里,關于LeetCode 劍指offer 09.用兩個棧實現(xiàn)隊列的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • (鏈表) 劍指 Offer 52. 兩個鏈表的第一個公共節(jié)點 ——【Leetcode每日一題】

    (鏈表) 劍指 Offer 52. 兩個鏈表的第一個公共節(jié)點 ——【Leetcode每日一題】

    難度:簡單 輸入兩個鏈表,找出它們的第一個公共節(jié)點。 如下面的兩個鏈表: 在節(jié)點 c1 開始相交。 示例 1: 輸入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 輸出:Reference of the node with value = 8 輸入解釋:相交節(jié)點的值為 8 (注意,如果兩個列表相交則

    2024年02月15日
    瀏覽(27)
  • 【算法】雙指針——leetcode盛最多水的容器、劍指Offer57和為s的兩個數(shù)字

    【算法】雙指針——leetcode盛最多水的容器、劍指Offer57和為s的兩個數(shù)字

    盛水最多的容器 (1)暴力解法 ??算法思路:我們枚舉出所有的容器大小,取最大值即可。 ??容器容積的計算方式: ??設兩指針 i , j ,分別指向水槽板的最左端以及最右端,此時容器的寬度為 j - i 。由于容器的高度由兩板中的較短的板決定,因此可得容積公式 :

    2024年02月13日
    瀏覽(24)
  • 劍指 Offer 59 - I. 滑動窗口的最大值 / LeetCode 239. 滑動窗口最大值(優(yōu)先隊列 / 單調(diào)隊列)

    鏈接:劍指 Offer 59 - I. 滑動窗口的最大值;LeetCode 239. 滑動窗口最大值 難度:困難 下一篇:劍指 Offer 59 - II. 隊列的最大值(單調(diào)隊列) 給你一個整數(shù)數(shù)組 nums,有一個大小為 k 的滑動窗口從數(shù)組的最左側移動到數(shù)組的最右側。你只可以看到在滑動窗口內(nèi)的 k 個數(shù)字?;瑒哟?/p>

    2024年02月15日
    瀏覽(21)
  • 【LeetCode】劍指 Offer(26)

    【LeetCode】劍指 Offer(26)

    目錄 題目:劍指 Offer 51. 數(shù)組中的逆序?qū)?- 力扣(Leetcode) 題目的接口: 解題思路: 代碼: 過啦!??! 寫在最后: 這一道題,我的思路是用雙指針暴力求解, 但這個數(shù)組長度,O(N^2)的時間復雜度肯定是不可能把所有樣例跑完, 看了大佬的思路,用的是歸并排序,(如果不

    2023年04月11日
    瀏覽(20)
  • 【LeetCode】劍指 Offer(27)

    【LeetCode】劍指 Offer(27)

    目錄 題目:劍指 Offer 53 - I. 在排序數(shù)組中查找數(shù)字 I - 力扣(Leetcode) 題目的接口: 解題思路: 代碼: 過啦!?。?寫在最后: 那么這道題呢, 如果只是作為一道題,或者說筆試題, 我們當然是二話不說直接暴力拿下, 來看代碼: 是的,就是這么簡單,三行代碼暴力拿下

    2023年04月13日
    瀏覽(21)
  • 【LeetCode】劍指 Offer(21)

    【LeetCode】劍指 Offer(21)

    目錄 題目:劍指 Offer 39. 數(shù)組中出現(xiàn)次數(shù)超過一半的數(shù)字 - 力扣(Leetcode) 題目的接口: 解題思路: 代碼: 過啦?。?! 題目:劍指 Offer 40. 最小的k個數(shù) - 力扣(Leetcode) 題目的接口: 解題思路: 代碼: 過啦?。?! 寫在最后: 這道題,我的思路是直接排序, 然后返回中間

    2023年04月10日
    瀏覽(29)
  • 【LeetCode】劍指 Offer(28)

    【LeetCode】劍指 Offer(28)

    目錄 題目:劍指 Offer 54. 二叉搜索樹的第k大節(jié)點 - 力扣(Leetcode) 題目的接口: 解題思路: 代碼: 過啦!?。?題目:劍指 Offer 55 - I. 二叉樹的深度 - 力扣(Leetcode) 題目的接口: 解題思路: 代碼: 過啦?。?! 題目:劍指 Offer 55 - II. 平衡二叉樹 - 力扣(Leetcode) 題目的接

    2023年04月24日
    瀏覽(34)
  • 【LeetCode】劍指 Offer(25)

    【LeetCode】劍指 Offer(25)

    目錄 題目:劍指 Offer 49. 丑數(shù) - 力扣(Leetcode) 題目的接口: 解題思路: 代碼: 過啦!?。?寫在最后: 丑數(shù)這道題用到一點動態(tài)規(guī)劃的思想, 具體思路如下: 根據(jù)題意: 如果說第一個丑數(shù)是一,包含質(zhì)因子 2、3 和 5 的數(shù)稱作丑數(shù), 那么我們發(fā)現(xiàn),之后的丑數(shù): 都是前

    2023年04月09日
    瀏覽(33)
  • 【LeetCode】劍指 Offer <二刷>(4)

    【LeetCode】劍指 Offer <二刷>(4)

    目錄 題目:劍指 Offer 09. 用兩個棧實現(xiàn)隊列 - 力扣(LeetCode) 題目的接口: 解題思路: 代碼: 過啦?。。?題目:劍指 Offer 10- I. 斐波那契數(shù)列 - 力扣(LeetCode) 題目的接口: 解題思路: 代碼: 過啦?。?! 寫在最后: 這道題我用 C++ 寫的時候是比較簡單順手的,用 STL 可以

    2024年02月10日
    瀏覽(19)
  • 【LeetCode】劍指 Offer <二刷>(1)

    【LeetCode】劍指 Offer <二刷>(1)

    目錄 前言: 題目:劍指 Offer 03. 數(shù)組中重復的數(shù)字 - 力扣(LeetCode) 題目的接口: 解題思路: 代碼: 過啦!?。?寫在最后: 剛學 golang 半個多月,看了一堆的文檔啊,框架啊,許許多多的東西,學到了很多,但是代碼沒有怎么上手寫,所以我就決定用 golang 二刷劍指 Offe

    2024年02月09日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包