国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

分析Add Two Numbers的JS解法

Jioby / 1481人閱讀

摘要:原題如下意思就是數字被逆序拆分保存在鏈表的各個節點中,現有兩條鏈表,要將這兩條鏈表相加返回新的鏈表。以示例來說原數字為和,所以相加結果為。

原題如下:
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

You may assume the two numbers do not contain any leading zero, except the number 0 itself.

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8

意思就是數字被逆序拆分保存在鏈表的各個節點中,現有兩條鏈表,要將這兩條鏈表相加返回新的鏈表。
以示例來說原數字為342和465,所以相加結果為807。

var addTwoNumbers = function(l1, l2) {  
  const res = test(l1,l2,[],false);
  return res;
};  

var test = function(l1,l2,res,overflow=false){
    res = res||[];
    l1=l1||{val:0,next:null};//這里判斷傳入的數組是否存在
    l2=l2||{val:0,next:null};//如果不存在就給他賦值后面的對象

    //這里計算想加后的結果,Number() 函數把對象的值轉換為數字
    const val = l1.val+l2.val+Number(overflow);

    if(val>=10){
        res.push(val%10);
        overflow=true;
    }else{
        res.push(val);
        overflow=false;
    }
    //所有的對象都被當作 true
    //當且僅當字符串為空時,該字符串被當作 false
    //null 和 undefined 被當作 false
    //當且僅當數字為零時,該數字被當作 false 
    if(l1.next||l2.next||overflow){
        test(l1.next,l2.next,res,overflow);
    }

    return res;
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/87165.html

相關文章

  • LeetCode.2 兩數相加(Add Two Numbers)(JS)

    摘要:更新之前說感覺優秀答案的最后三行可以用尾遞歸優化不知道尾遞歸的小伙伴可以點這里,仔細想了一下,并不能。尾遞歸的實現,往往需要改寫遞歸函數,確保最后一步只調用自身。 上周日就想寫vue.nextTick的源碼分析,可是總是不知道從哪兒下手,今天有時間,先把leetcode第二題補了,感覺這道題還挺簡單的 一、題目 兩數相加: 給出兩個 非空 的鏈表用來表示兩個非負的整數。其中,它們各自...

    Binguner 評論0 收藏0
  • leetcode 167 Two Sum II - Input array is sorted

    摘要:同時題目假設每組輸入恰好只有一個答案,并且不能重復使用同一元素。理解這道題是可以用兩層循環蠻力解決的,但是效率太低了。如果這兩個元素和大于目標數組,指針左移如果小于,指針右移。如果等于,則返回這兩個元素的位置記得用數組的數值加一解法 題目詳情 Given an array of integers that is already sorted in ascending order, fi...

    Keagan 評論0 收藏0
  • 一些做著玩

    摘要:這是我在平時有時間的時候做的一些算法上的題目想看更新請移步這里題目描述解法這個問題當時拿到的時候是完全沒有思路的,后面上網查詢了一下這個題目,知道了使用斐波那契數列就能夠解這道題目,,,當然百度作業幫上面也有相應的解法,套路就是題目為一 這是我在平時有時間的時候做的一些算法上的題目 想看更新請移步這里 題目: Climbing Stairs 描述 You are climbing a ...

    cheukyin 評論0 收藏0
  • leetcode 2 Add Two Numbers

    摘要:我們的目的是求出兩個數字的加和,并以同樣的形式返回。假設每個都不會存在在首位的,除非數字本身就是想法這道題主要要求還是熟悉的操作。這道題由于數字反序,所以實際上從首位開始相加正好符合我們筆算的時候的順序。 題目詳情 You are given two non-empty linked lists representing two non-negative integers. The d...

    Integ 評論0 收藏0
  • [LintCode/LeetCode] Two Sum

    摘要:就不說了,使用的解法思路如下建立,對應該元素的值與之差,對應該元素的。然后,循環,對每個元素計算該值與之差,放入里,。如果中包含等于該元素值的值,那么說明這個元素正是中包含的對應的差值。返回二元數組,即為兩個所求加數的序列。 Problem Given an array of integers, find two numbers such that they add up to a s...

    xiaoxiaozi 評論0 收藏0

發表評論

0條評論

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