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

LeetCode 面試題 03.04. 化棧為隊

這篇具有很好參考價值的文章主要介紹了LeetCode 面試題 03.04. 化棧為隊。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

一、題目

??實(shí)現(xiàn)一個MyQueue類,該類用兩個棧來實(shí)現(xiàn)一個隊列。

??點(diǎn)擊此處跳轉(zhuǎn)題目。

示例:

MyQueue queue = new MyQueue();
queue.push(1);
queue.push(2);
queue.peek(); // 返回 1
queue.pop(); // 返回 1
queue.empty(); // 返回 false

說明:

  • 你只能使用標(biāo)準(zhǔn)的棧操作 – 也就是只有 push to top, peek/pop from top, sizeis empty 操作是合法的。
  • 你所使用的語言也許不支持棧。你可以使用 list 或者 deque(雙端隊列)來模擬一個棧,只要是標(biāo)準(zhǔn)的棧操作即可。
  • 假設(shè)所有操作都是有效的 (例如,一個空的隊列不會調(diào)用 pop 或者 peek 操作)。

二、C# 題解

??很簡單的題目,進(jìn)隊列時將元素壓入 inStack 中,出隊列時將 inStack 元素順序壓入 outStack 后彈出頂端元素即可。文章來源地址http://www.zghlxwxcb.cn/news/detail-704655.html

public class MyQueue {
    private Stack<int> inStack, outStack;

    /** Initialize your data structure here. */
    public MyQueue() {
        inStack = new Stack<int>();
        outStack = new Stack<int>();
    }
    
    /** Push element x to the back of queue. */
    public void Push(int x) {
        Reverse(outStack, inStack);
        inStack.Push(x);
    }
    
    /** Removes the element from in front of queue and returns that element. */
    public int Pop() {
        Reverse(inStack, outStack);
        return outStack.Pop();
    }
    
    /** Get the front element. */
    public int Peek() {
        Reverse(inStack, outStack);
        return outStack.Peek();
    }
    
    /** Returns whether the queue is empty. */
    public bool Empty() {
        return (inStack.Count | outStack.Count) == 0;
    }

    // 將 st1 中的元素壓入 st2 中
    private void Reverse(Stack<int> st1, Stack<int> st2) {
        while (st1.Count != 0) st2.Push(st1.Pop());
    }
}

/**
 * Your MyQueue object will be instantiated and called as such:
 * MyQueue obj = new MyQueue();
 * obj.Push(x);
 * int param_2 = obj.Pop();
 * int param_3 = obj.Peek();
 * bool param_4 = obj.Empty();
 */
  • 時間復(fù)雜度:無。
  • 空間復(fù)雜度:無。

到了這里,關(guān)于LeetCode 面試題 03.04. 化棧為隊的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • LeetCode 面試題 02.04. 分割鏈表

    LeetCode 面試題 02.04. 分割鏈表

    ??給你一個鏈表的頭節(jié)點(diǎn) head 和一個特定值 x ,請你對鏈表進(jìn)行分隔,使得所有 小于 x 的節(jié)點(diǎn)都出現(xiàn)在 大于或等于 x 的節(jié)點(diǎn)之前。 ??你不需要 保留 每個分區(qū)中各節(jié)點(diǎn)的初始相對位置。 ??點(diǎn)擊此處跳轉(zhuǎn)題目。 示例 1: 輸入:head = [1,4,3,2,5,2], x = 3 輸出:[1,2,2,4,3,5] 示例

    2024年02月11日
    瀏覽(21)
  • LeetCode 面試題 04.08. 首個共同祖先

    ??設(shè)計并實(shí)現(xiàn)一個算法,找出二叉樹中某兩個節(jié)點(diǎn)的第一個共同祖先。不得將其他的節(jié)點(diǎn)存儲在另外的數(shù)據(jù)結(jié)構(gòu)中。注意:這不一定是二叉搜索樹。 ??例如,給定如下二叉樹: root = [3,5,1,6,2,0,8,null,null,7,4] ??點(diǎn)擊此處跳轉(zhuǎn)題目。 示例 1: 輸入: root = [3,5,1,6,2,0,8,null,null,7,

    2024年02月08日
    瀏覽(21)
  • Leetcode面試經(jīng)典150題刷題記錄 —— 矩陣篇

    Leetcode面試經(jīng)典150題刷題記錄 —— 矩陣篇

    Leetcod面試經(jīng)典150題刷題記錄-系列 Leetcod面試經(jīng)典150題刷題記錄——數(shù)組 / 字符串篇 Leetcod面試經(jīng)典150題刷題記錄 —— 雙指針篇 本篇 Leetcod面試經(jīng)典150題刷題記錄 —— 矩陣篇 Leetcod面試經(jīng)典150題刷題記錄 —— 滑動窗口篇 Leetcod面試經(jīng)典150題刷題記錄 —— 哈希表篇 Leetcod面試

    2024年01月16日
    瀏覽(30)
  • Leetcode面試經(jīng)典150題刷題記錄 —— 數(shù)學(xué)篇

    Leetcode面試經(jīng)典150題刷題記錄-系列 Leetcod面試經(jīng)典150題刷題記錄——數(shù)組 / 字符串篇 Leetcod面試經(jīng)典150題刷題記錄 —— 雙指針篇 Leetcod面試經(jīng)典150題刷題記錄 —— 矩陣篇 Leetcod面試經(jīng)典150題刷題記錄 —— 滑動窗口篇 Leetcod面試經(jīng)典150題刷題記錄 —— 哈希表篇 Leetcod面試經(jīng)典

    2024年01月21日
    瀏覽(28)
  • (C語言版)力扣(LeetCode)面試題 17.04. 消失的數(shù)字5種解法

    (C語言版)力扣(LeetCode)面試題 17.04. 消失的數(shù)字5種解法

    該題目取自力扣(LeetCode)面試題 17.04. 消失的數(shù)字 鏈接:消失的數(shù)字 該題目主要考察時間復(fù)雜度的把握,題目如下: 數(shù)組nums包含從0到n的所有整數(shù),但其中缺了一個。請編寫代碼找出那個缺失的整數(shù)。你有辦法在O(n)時間內(nèi)完成嗎? 注意:本題相對書上原題稍作改動 示例

    2023年04月14日
    瀏覽(24)
  • Leetcode面試經(jīng)典150題刷題記錄 —— 二叉搜索樹篇

    Leetcod面試經(jīng)典150題刷題記錄-系列 Leetcod面試經(jīng)典150題刷題記錄——數(shù)組 / 字符串篇 Leetcod面試經(jīng)典150題刷題記錄 —— 雙指針篇 Leetcod面試經(jīng)典150題刷題記錄 —— 矩陣篇 Leetcod面試經(jīng)典150題刷題記錄 —— 滑動窗口篇 Leetcod面試經(jīng)典150題刷題記錄 —— 哈希表篇 Leetcod面試經(jīng)典

    2024年01月23日
    瀏覽(29)
  • 【DFS+剪枝】個人練習(xí)-Leetcode-面試題 16.04. Tic-Tac-Toe LCCI

    題目鏈接:https://leetcode.cn/problems/tic-tac-toe-lcci/ 題目大意:給出一個 N*N 的棋盤格 board[][] ,走圈叉棋,判斷輸贏情況,某一方贏了返回該方的字符,若平局(棋盤滿且沒有一方贏)返回 Draw ,若結(jié)局未定(棋盤未滿且沒有一方贏)返回 Pending 思路:可以DFS做,并做一部分剪枝

    2024年02月02日
    瀏覽(24)
  • 【Leetcode60天帶刷】day04鏈表——24. 兩兩交換鏈表中的節(jié)點(diǎn), 19.刪除鏈表的倒數(shù)第N個節(jié)點(diǎn) ,面試題 02.07. 鏈表相交

    【Leetcode60天帶刷】day04鏈表——24. 兩兩交換鏈表中的節(jié)點(diǎn), 19.刪除鏈表的倒數(shù)第N個節(jié)點(diǎn) ,面試題 02.07. 鏈表相交

    Leetcode原題鏈接: 24. 兩兩交換鏈表中的節(jié)點(diǎn) ?給你一個鏈表,兩兩交換其中相鄰的節(jié)點(diǎn),并返回交換后鏈表的頭節(jié)點(diǎn)。你必須在不修改節(jié)點(diǎn)內(nèi)部的值的情況下完成本題(即,只能進(jìn)行節(jié)點(diǎn)交換)。 示例 1: 示例 2: 示例 3: 提示: 鏈表中節(jié)點(diǎn)的數(shù)目在范圍? [0, 100] ?內(nèi) 0 =

    2024年02月07日
    瀏覽(37)
  • CVAT標(biāo)注工具---最新安裝部署-2023-04-03

    CVAT標(biāo)注工具---最新安裝部署-2023-04-03

    CVAT是OpenCV團(tuán)隊開源的一個基于web的圖像標(biāo)注系統(tǒng),它能夠?qū)D像、視頻做矩形、關(guān)鍵點(diǎn)、圖像分割、目標(biāo)追蹤、3D等標(biāo)注。cvat可以分為服務(wù)端和客戶端,服務(wù)端可以部署在本地或者云上而且還可以很方便的與我們的數(shù)據(jù)服務(wù)器進(jìn)行連接,客戶端只需要通過Google瀏覽器訪問we

    2024年02月06日
    瀏覽(23)
  • Day04 03-MySQL的事務(wù)(TCL)

    第十三章 TCL 13.1 事務(wù)的介紹 我們先來看一個場景: 當(dāng)一個業(yè)務(wù)需求涉及到多個DML操作時,這個業(yè)務(wù)(或者多個DML操作)當(dāng)成一個整體來處理。在處理的過程中,如果有失敗或異常,我們要回到業(yè)務(wù)開始時。如果成功處理,我們再將數(shù)據(jù)持久化到磁盤中。這樣一個過程我們稱之為

    2024年02月07日
    瀏覽(13)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包