LeetCode刷題系列 2 兩數相加

2021-10-07 07:12:43 字數 781 閱讀 2476

題目: 

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

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

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

示例:

輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)輸出:7 -> 0 -> 8原因:342 + 465 = 807
思路:

建立乙個煉表頭head ,用於表示最終結果鍊錶的頭結點的上一節點

定義乙個 tmp ,用於儲存每次相加的進製

設 v1 與v2分別為l1與l2當前位的值

tmp = v1 + v2 + tmp

結果鍊錶中當前位

vr = tmp%10

進製 tmp = tmp / 10

重複操作

直至計算完畢

public listnode addtwonumbers(listnode l1, listnode l2) 

//若h1還有位沒有加完,繼續計算

while (h1!=null)

//若h2還有位沒有加完,繼續計算

while (h2!=null)

//若 還有進製沒有算完,繼續計算

while (tmp!=0)

return head.next;

}

leetCode刷題 2 兩數相加

給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 465 807 複製 題目的前提,將數字使用鏈結來儲存,比如...

Leetcode刷題(2 兩數相加)

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

LeetCode刷題 2 兩數相加

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