LeetCode第2題兩數相加

2021-10-06 18:39:44 字數 1132 閱讀 7279

題意理解

給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。

如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。

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

解題思路

1、題意理解:對應節點相加,只留下個位數,進製數加到下乙個節點 將兩個鍊錶的值相加,得到乙個數,將該數從個位依從放入新鍊錶

2、可能會用到的知識點:

(1)對於鍊錶問題,返回結果為頭結點時,通常需要先初始化乙個哨兵

(2)對於乙個兩位數的數(比如13)

獲取個位數: sum%10

獲取十位數: sum /= 10

3、**邏輯:

(1)將兩個鍊錶相同位置的結點相加,取餘即為新鍊錶的結點

(2) 再執行新一輪的相加,執行sum /= 10,可以判斷是否進1

4、出現的錯誤:

輸出為空

原因是**有一點錯誤,需要變數d指向下乙個節點

d =

newlistnode

(sum %10)

;// 錯誤

更改為:

d.next =

newlistnode

(sum %10)

;

**
/**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

if(l2 != null)

d.next =

newlistnode

(sum %10)

; d = d.next;}if

(sum /

10==1)

d.next =

newlistnode(1

);return s.next;

}}

參考:

LeetCode第2題題解 兩數相加

題目 leetcode 題目描述 給出兩個非空的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照逆序的方式儲存的,並且它們的每個節點只能儲存一位數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0開頭。示例 輸入 2 4 3...

LeetCode刷題筆記第2題 兩數相加

給你兩個 非空 的鍊錶,表示兩個非負的整數。它們每位數字都是按照 逆序 的方式儲存的,並且每個節點只能儲存 一位 數字。請你將兩個數相加,並以相同形式返回乙個表示和的鍊錶。你可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 1 輸入 l1 2,4,3 l2 5,6,4 輸出 7,0,8 ...

leetcode 第2題 兩數相加(鍊錶)

題目描述 給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 ...