給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。
如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。
您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。
示例:輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
輸出:7 -> 0 -> 8
原因:342 + 465 = 807
這道題呢,簡化了難度,因為鍊錶的順序就是我們平時計算兩個數之和的順序,都是從低位開始加。比如平時我們計算342+465,也是先計算2+5,對吧~
然後求的和變成乙個新的結點,在組合新鍊錶的時候,也不必採用頭插法,因為返回的鍊錶也是倒序哈哈哈。
要注意的有兩個點,乙個是有進製的情況,我們可以用乙個變數來表示進製,進製就是sum/10,而結點的值是sum%10。
還有就是當鍊表長度不一樣時,如果鍊錶遍歷到空了,我們把它的值記為0就好~
對了,不要忘記加上最後最後一步的進製噢,可以在while迴圈條件裡設定,當carry為1時,繼續再迴圈一次即可!
c++**如下:
1/**2* definition for singly-linked list.
3* struct listnode
7* };8*/
9class
solution
26return dummy->next;27}
28 };
LeetCode2 兩數相加
嗯。今天兩個簡單題,我可能要墮落了 先貼第乙個 給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8原因 342 465 807...
LeetCode 2 兩數相加
題目 給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 465 807 解題 這題就比較簡單了,兩數相加處理好...
LeetCode 2 兩數相加
題目描述 給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。題目思路 先從最低有效位也就是列表 l1 和 l2 的表頭開始相加。由於每位數字都應當處於 0 9 的範圍內,我們計算...