LeetCode 2 兩數相加

2022-08-11 19:51:27 字數 756 閱讀 7796

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

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

您可以假設除了數字 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 的範圍內,我們計算...