亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

【轉(zhuǎn)】《劍指Offer》JavaScript實(shí)戰(zhàn)——用兩個(gè)棧實(shí)現(xiàn)隊(duì)列

senntyou / 2111人閱讀

摘要:題目描述用兩個(gè)棧來(lái)實(shí)現(xiàn)一個(gè)隊(duì)列,完成隊(duì)列的和操作。隊(duì)列中的元素為類型。下面是實(shí)現(xiàn)代碼。

題目描述

????用兩個(gè)棧來(lái)實(shí)現(xiàn)一個(gè)隊(duì)列,完成隊(duì)列的Push和Pop操作。 隊(duì)列中的元素為int類型。

解題方法
let stack1=[],//兩個(gè)數(shù)組模擬棧的行為
    stack2=[];
function push(node)
{
    // write code here
    //棧是后入先出(LIFO),隊(duì)列是先入先出(FIFO)
    //模擬隊(duì)列的push操作,直接往棧中推入即可
    //但是要考慮輔助棧中還存在值的情況,需要先將輔助棧中的值推回存儲(chǔ)棧中
    while(stack2.length !== 0){
        stack1.push(stack2.pop());
    }
    stack1.push(node);
}
function pop()
{
    // write code here
    //模擬隊(duì)列的pop操作則要考慮棧的后入先出特性,需要先將存儲(chǔ)棧中的數(shù)組,推入輔助棧,然后輔助棧彈出
    while(stack1.length !== 0){
        stack2.push(stack1.pop());
    }
    return stack2.pop();
}
拓展——用兩個(gè)隊(duì)列實(shí)現(xiàn)一個(gè)棧的pop和push操作

? ? 本質(zhì)上和上面的沒什么區(qū)別,只要抓住一點(diǎn),棧是后入先出(LIFO),隊(duì)列是先入先出(FIFO)。下面是實(shí)現(xiàn)代碼。

let queue1=[],//兩個(gè)數(shù)組模擬隊(duì)列的行為
    queue2=[];
function push(node) {
    //推入的時(shí)候要判斷哪個(gè)隊(duì)列中有值,就推入那個(gè)隊(duì)列中
    if(queue1.length === 0){
        queue2.push(node);
    }else{
        queue1.push(node);
    }
}
 
function pop() {
    //彈出的時(shí)候判斷哪個(gè)隊(duì)列中有值,則先將該隊(duì)列中的n-1個(gè)值彈出并存入另一個(gè)隊(duì)列中,然后彈出最后一個(gè)值則為結(jié)果
    if(queue1.length === 0){
        while(queue2.length !== 1){
            queue1.push(queue2.pop());
        }
        return queue2.pop();
    }else{
        while(queue1.length !== 1){
            queue2.push(queue1.pop());
        }
        return queue1.pop();
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/102964.html

相關(guān)文章

  • 劍指offer/LintCode494_兩個(gè)隊(duì)列實(shí)現(xiàn)一個(gè)

    摘要:劍指用兩個(gè)隊(duì)列實(shí)現(xiàn)一個(gè)棧聲明文章均為本人技術(shù)筆記,轉(zhuǎn)載請(qǐng)注明出處解題思路實(shí)現(xiàn)功能用兩個(gè)隊(duì)列實(shí)現(xiàn)一個(gè)棧,實(shí)現(xiàn),,和方法解題思路假設(shè)有隊(duì)列和實(shí)現(xiàn)棧的操作實(shí)現(xiàn)棧操作始終用來(lái)入隊(duì)實(shí)現(xiàn)實(shí)現(xiàn)棧的方法模擬棧的過(guò)程中,保證兩個(gè)隊(duì)列中始終有一個(gè)隊(duì)列為空,另一 劍指offer/LintCode494_用兩個(gè)隊(duì)列實(shí)現(xiàn)一個(gè)棧 聲明 文章均為本人技術(shù)筆記,轉(zhuǎn)載請(qǐng)注明出處https://segmentfault....

    rose 評(píng)論0 收藏0
  • 劍指offer/LintCode40_兩個(gè)模擬隊(duì)列

    摘要:劍指用兩個(gè)棧模擬隊(duì)列聲明文章均為本人技術(shù)筆記,轉(zhuǎn)載請(qǐng)注明出處解題思路實(shí)現(xiàn)功能用兩個(gè)棧模擬實(shí)現(xiàn)一個(gè)隊(duì)列的,和操作解題思路假設(shè)有兩個(gè)棧隊(duì)列實(shí)現(xiàn)始終用入棧實(shí)現(xiàn)隊(duì)列和實(shí)現(xiàn)由于依次出棧并壓入中,恰好保證中順序與模擬隊(duì)列順序一致,始終保證棧頂元素為模擬 劍指offer/LintCode40_用兩個(gè)棧模擬隊(duì)列 聲明 文章均為本人技術(shù)筆記,轉(zhuǎn)載請(qǐng)注明出處https://segmentfault.com...

    bawn 評(píng)論0 收藏0
  • 劍指offer】6.兩個(gè)實(shí)現(xiàn)隊(duì)列

    摘要:題目用兩個(gè)棧來(lái)實(shí)現(xiàn)一個(gè)隊(duì)列,完成隊(duì)列的和操作。隊(duì)列中的元素為類型?;舅悸窏S糜谌腙?duì)列存儲(chǔ)棧出隊(duì)列時(shí)將棧的數(shù)據(jù)依次出棧,并入棧到棧中棧出棧即棧的底部數(shù)據(jù)即隊(duì)列要出的數(shù)據(jù)。注意棧為空才能補(bǔ)充棧的數(shù)據(jù),否則會(huì)打亂當(dāng)前的順序。 題目 用兩個(gè)棧來(lái)實(shí)現(xiàn)一個(gè)隊(duì)列,完成隊(duì)列的Push和Pop操作。 隊(duì)列中的元素為int類型。 基本思路 棧1: 用于入隊(duì)列存儲(chǔ) 棧2: 出隊(duì)列時(shí)將棧1的數(shù)據(jù)依次出棧,并...

    fredshare 評(píng)論0 收藏0
  • #yyds干貨盤點(diǎn)#劍指 Offer 09. 兩個(gè)實(shí)現(xiàn)隊(duì)列

    摘要:題目用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列。隊(duì)列的聲明如下,請(qǐng)實(shí)現(xiàn)它的兩個(gè)函數(shù)和,分別完成在隊(duì)列尾部插入整數(shù)和在隊(duì)列頭部刪除整數(shù)的功能。刪除此堆棧頂部的對(duì)象,并將該對(duì)象作為此函數(shù)的值返回。 題目用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列。隊(duì)列的聲明如下,請(qǐng)實(shí)現(xiàn)它的兩個(gè)函數(shù) appendTail 和 deleteHead ,分別完成在隊(duì)列尾部插入整數(shù)和...

    RichardXG 評(píng)論0 收藏0
  • 劍指offer(javascript版)

    摘要:二維數(shù)組中的查找在一個(gè)二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請(qǐng)完成一個(gè)函數(shù),輸入這樣的一個(gè)二維數(shù)組和一個(gè)整數(shù),判斷數(shù)組中是否含有該整數(shù)。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹并返回。 1.二維數(shù)組中的查找 在一個(gè)二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請(qǐng)完成一個(gè)函數(shù),輸入這樣的一個(gè)二維數(shù)...

    imtianx 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<