題意理解
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。
如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。
您可以假設除了數字 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 ...