摘要:開(kāi)頭介紹記錄一個(gè)做看答案學(xué)到的小知識(shí)。。。其中,它們各自的位數(shù)是按照逆序的方式存儲(chǔ)的,并且它們的每個(gè)節(jié)點(diǎn)只能存儲(chǔ)一位數(shù)字。如果,我們將這兩個(gè)數(shù)相加起來(lái),則會(huì)返回一個(gè)新的鏈表來(lái)表示它們的和。
1.開(kāi)頭介紹
記錄一個(gè)做leetcode看答案學(xué)到的小知識(shí)。。。
淺拷貝實(shí)現(xiàn)一些特殊的功能的一些應(yīng)用場(chǎng)景
2.正文
比如:我們有一個(gè)需求如下
{ 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)//自行到控制臺(tái)測(cè)試obj1:{val: 9, child: null},obj2:{val: 0, child: {…}}
由此我引申一個(gè),js如何解決一個(gè)鏈表的題目,js鏈表的實(shí)現(xiàn)
題目在此:
給出兩個(gè) 非空 的鏈表用來(lái)表示兩個(gè)非負(fù)的整數(shù)。其中,它們各自的位數(shù)是按照 逆序 的方式存儲(chǔ)的,并且它們的每個(gè)節(jié)點(diǎn)只能存儲(chǔ) 一位 數(shù)字。 如果,我們將這兩個(gè)數(shù)相加起來(lái),則會(huì)返回一個(gè)新的鏈表來(lái)表示它們的和。 您可以假設(shè)除了數(shù)字 0 之外,這兩個(gè)數(shù)都不會(huì)以 0 開(kāi)頭。 示例: 輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 輸出:7 -> 0 -> 8 原因:342 + 465 = 807
如何實(shí)現(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,說(shuō)明超過(guò)位數(shù)了,例如99=>100,999=>1000,補(bǔ)一個(gè)1在最后。 if(carry !== 0){ cur.next = new ListNode(1); } return result.next; };
ok
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/103236.html
摘要:前置知識(shí)基礎(chǔ)集合類(lèi)基礎(chǔ)字典該接口不基于比較繼承父接口父類(lèi)數(shù)據(jù)存儲(chǔ)底層結(jié)構(gòu)數(shù)組鏈表紅黑樹(shù)同雙向鏈表紅黑樹(shù)復(fù)雜度插入同刪除同查找同有序性迭代順序插入順序訪(fǎng)問(wèn)順序自然序自定義支持否同是哈希哈希函數(shù)基于高低位同桶定位法位運(yùn)算同沖突處理轉(zhuǎn)換成鏈表紅黑 前置知識(shí): Java基礎(chǔ) 集合類(lèi)基礎(chǔ)(jdk1.8) Map(字典) 該接口不基于Collection HashMap/LinkedHashMap...
摘要:前端面試總結(jié)先說(shuō)背景,本人年月畢業(yè),去年十月校招到今年月一直在做前端開(kāi)發(fā)工作,年前打算換工作,就重新梳理下面試考點(diǎn)總結(jié)包含基礎(chǔ),基礎(chǔ),常見(jiàn)算法和數(shù)據(jù)結(jié)構(gòu),框架,計(jì)算機(jī)網(wǎng)絡(luò)相關(guān)知識(shí),可能有的點(diǎn)很細(xì),有的點(diǎn)很大,參考個(gè)人情況進(jìn)行總結(jié),方便對(duì)知識(shí) 前端面試總結(jié) 先說(shuō)背景,本人2018年7月畢業(yè),去年十月校招到今年10月一直在做前端開(kāi)發(fā)工作,年前打算換工作,就重新梳理下面試考點(diǎn)總結(jié)包含: ...
摘要:前端面試總結(jié)先說(shuō)背景,本人年月畢業(yè),去年十月校招到今年月一直在做前端開(kāi)發(fā)工作,年前打算換工作,就重新梳理下面試考點(diǎn)總結(jié)包含基礎(chǔ),基礎(chǔ),常見(jiàn)算法和數(shù)據(jù)結(jié)構(gòu),框架,計(jì)算機(jī)網(wǎng)絡(luò)相關(guān)知識(shí),可能有的點(diǎn)很細(xì),有的點(diǎn)很大,參考個(gè)人情況進(jìn)行總結(jié),方便對(duì)知識(shí) 前端面試總結(jié) 先說(shuō)背景,本人2018年7月畢業(yè),去年十月校招到今年10月一直在做前端開(kāi)發(fā)工作,年前打算換工作,就重新梳理下面試考點(diǎn)總結(jié)包含: ...
摘要:概述列表是一款即實(shí)用又常用的數(shù)據(jù)結(jié)構(gòu),用來(lái)存儲(chǔ)線(xiàn)性結(jié)構(gòu)的數(shù)據(jù)。在中對(duì)的支持主要有兩種,也是最常用的兩種。本文主要分析的源碼。的底層主要是基于鏈表來(lái)實(shí)現(xiàn)的。但是返回的卻沒(méi)有這樣的等同關(guān)系。那么其方法返回的只是一個(gè)類(lèi)型的數(shù)組,而不是類(lèi)型。 概述 列表(list)是一款即實(shí)用又常用的數(shù)據(jù)結(jié)構(gòu),用來(lái)存儲(chǔ)線(xiàn)性結(jié)構(gòu)的數(shù)據(jù)。在JDK中對(duì)List的支持主要有兩種,也是最常用的兩種。一種是ArrayLi...
摘要:一篇文章徹底說(shuō)清的深拷貝淺拷貝這篇文章的受眾第一類(lèi)業(yè)務(wù)需要急需知道如何深拷貝對(duì)象的開(kāi)發(fā)者。這篇文章分享的目的更多還是希望用一篇文章整理清楚深淺拷貝的含義遞歸實(shí)現(xiàn)思路以及小伙伴們?nèi)绻褂昧诉@種黑科技一定要清楚這樣寫(xiě)的優(yōu)缺點(diǎn)。 一篇文章徹底說(shuō)清JS的深拷貝and淺拷貝 這篇文章的受眾 第一類(lèi),業(yè)務(wù)需要,急需知道如何深拷貝JS對(duì)象的開(kāi)發(fā)者。 第二類(lèi),希望扎實(shí)JS基礎(chǔ),將來(lái)好去面試官前秀操作...
閱讀 4756·2021-09-22 16:06
閱讀 2112·2021-09-22 15:22
閱讀 1454·2019-08-30 15:54
閱讀 2540·2019-08-30 15:44
閱讀 2368·2019-08-29 16:31
閱讀 2038·2019-08-29 16:26
閱讀 2355·2019-08-29 12:41
閱讀 759·2019-08-29 12:22