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

資訊專欄INFORMATION COLUMN

記錄一個關(guān)于內(nèi)存拷貝(淺拷貝)和js鏈表的小知識點

hedge_hog / 1396人閱讀

摘要:開頭介紹記錄一個做看答案學(xué)到的小知識。。。其中,它們各自的位數(shù)是按照逆序的方式存儲的,并且它們的每個節(jié)點只能存儲一位數(shù)字。如果,我們將這兩個數(shù)相加起來,則會返回一個新的鏈表來表示它們的和。

1.開頭介紹

記錄一個做leetcode看答案學(xué)到的小知識。。。
淺拷貝實現(xiàn)一些特殊的功能的一些應(yīng)用場景

2.正文
比如:我們有一個需求如下

{
    val:0,
    child:null
}
//==>
{
    val:0,
    child:{
        val:1,
        child:{
            val:2,
            child:{
                ...
            }
        }
    }
}

我們可以這樣做

    let obj1={
        val:0,
        child:null
    },
    obj2=obj1,
    i=1
    while(i<10){
        obj1.child={
            val:i,
            child:null
        };
        obj1=obj1.child
        i++
    }
    console.log("obj1:",obj1,"obj2:",obj2)//自行到控制臺測試obj1:{val: 9, child: null},obj2:{val: 0, child: {…}}

由此我引申一個,js如何解決一個鏈表的題目,js鏈表的實現(xiàn)

題目在此:

給出兩個 非空 的鏈表用來表示兩個非負(fù)的整數(shù)。其中,它們各自的位數(shù)是按照 逆序 的方式存儲的,并且它們的每個節(jié)點只能存儲 一位 數(shù)字。

如果,我們將這兩個數(shù)相加起來,則會返回一個新的鏈表來表示它們的和。

您可以假設(shè)除了數(shù)字 0 之外,這兩個數(shù)都不會以 0 開頭。

示例:

輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
輸出:7 -> 0 -> 8
原因:342 + 465 = 807

如何實現(xiàn):

function ListNode(val) {
    this.val = val;
    this.next = null;
}
var addTwoNumbers = function(l1, l2) {
    if(l1 === null || l2 === null){
        return l1 || l2;
    }
    
    var result = new ListNode(0);
    var cur = result;//細(xì)節(jié)操作
    var p = l1;
    var q = l2;
    var carry = 0;
    
    while(p || q){
        var qval;
        var pval;
        
        if(q){
            qval = q.val;
            q = q.next;
        } else {
            qval = 0;
        }
        
        if(p){
            pval = p.val;
            p = p.next;
        } else {
            pval = 0;
        }
        
        var val = qval + pval + carry;
        
        if(val > 9){
            carry = 1;
            val %= 10;
        } else {
            carry = 0;
        }
        
        cur.next = new ListNode(val);
        cur = cur.next;
    }
    //這是carry大于1,說明超過位數(shù)了,例如99=>100,999=>1000,補一個1在最后。
    if(carry !== 0){
        cur.next = new ListNode(1);
    }
    
    return result.next;
    
};

ok

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

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

相關(guān)文章

  • 【Java】jdk1.8集合類特性綜述及橫向比較

    摘要:前置知識基礎(chǔ)集合類基礎(chǔ)字典該接口不基于比較繼承父接口父類數(shù)據(jù)存儲底層結(jié)構(gòu)數(shù)組鏈表紅黑樹同雙向鏈表紅黑樹復(fù)雜度插入同刪除同查找同有序性迭代順序插入順序訪問順序自然序自定義支持否同是哈希哈希函數(shù)基于高低位同桶定位法位運算同沖突處理轉(zhuǎn)換成鏈表紅黑 前置知識: Java基礎(chǔ) 集合類基礎(chǔ)(jdk1.8) Map(字典) 該接口不基于Collection HashMap/LinkedHashMap...

    沈儉 評論0 收藏0
  • 初級前端開發(fā)面試總結(jié)

    摘要:前端面試總結(jié)先說背景,本人年月畢業(yè),去年十月校招到今年月一直在做前端開發(fā)工作,年前打算換工作,就重新梳理下面試考點總結(jié)包含基礎(chǔ),基礎(chǔ),常見算法和數(shù)據(jù)結(jié)構(gòu),框架,計算機網(wǎng)絡(luò)相關(guān)知識,可能有的點很細(xì),有的點很大,參考個人情況進(jìn)行總結(jié),方便對知識 前端面試總結(jié) 先說背景,本人2018年7月畢業(yè),去年十月校招到今年10月一直在做前端開發(fā)工作,年前打算換工作,就重新梳理下面試考點總結(jié)包含: ...

    jifei 評論0 收藏0
  • 初級前端開發(fā)面試總結(jié)

    摘要:前端面試總結(jié)先說背景,本人年月畢業(yè),去年十月校招到今年月一直在做前端開發(fā)工作,年前打算換工作,就重新梳理下面試考點總結(jié)包含基礎(chǔ),基礎(chǔ),常見算法和數(shù)據(jù)結(jié)構(gòu),框架,計算機網(wǎng)絡(luò)相關(guān)知識,可能有的點很細(xì),有的點很大,參考個人情況進(jìn)行總結(jié),方便對知識 前端面試總結(jié) 先說背景,本人2018年7月畢業(yè),去年十月校招到今年10月一直在做前端開發(fā)工作,年前打算換工作,就重新梳理下面試考點總結(jié)包含: ...

    tigerZH 評論0 收藏0
  • ArrayList的克隆與toArray

    摘要:概述列表是一款即實用又常用的數(shù)據(jù)結(jié)構(gòu),用來存儲線性結(jié)構(gòu)的數(shù)據(jù)。在中對的支持主要有兩種,也是最常用的兩種。本文主要分析的源碼。的底層主要是基于鏈表來實現(xiàn)的。但是返回的卻沒有這樣的等同關(guān)系。那么其方法返回的只是一個類型的數(shù)組,而不是類型。 概述 列表(list)是一款即實用又常用的數(shù)據(jù)結(jié)構(gòu),用來存儲線性結(jié)構(gòu)的數(shù)據(jù)。在JDK中對List的支持主要有兩種,也是最常用的兩種。一種是ArrayLi...

    codeKK 評論0 收藏0
  • 一篇文章徹底說清JS的深拷貝/拷貝

    摘要:一篇文章徹底說清的深拷貝淺拷貝這篇文章的受眾第一類業(yè)務(wù)需要急需知道如何深拷貝對象的開發(fā)者。這篇文章分享的目的更多還是希望用一篇文章整理清楚深淺拷貝的含義遞歸實現(xiàn)思路以及小伙伴們?nèi)绻褂昧诉@種黑科技一定要清楚這樣寫的優(yōu)缺點。 一篇文章徹底說清JS的深拷貝and淺拷貝 這篇文章的受眾 第一類,業(yè)務(wù)需要,急需知道如何深拷貝JS對象的開發(fā)者。 第二類,希望扎實JS基礎(chǔ),將來好去面試官前秀操作...

    J4ck_Chan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<