LeetCode 2 兩數相加

2021-08-22 02:26:54 字數 586 閱讀 6540

題目描述:

給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。

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

題目思路:

先從最低有效位也就是列表 l1 和 l2 的表頭開始相加。由於每位數字都應當處於 0…9 的範圍內,我們計算兩個數字的和時可能會出現「溢位」。例如,5 + 7 =12。在這種情況下,我們會將當前位的數值設定為 22,並將進製carry=1 帶入下一次迭代。進製 carry 必定是 0 或 1,這是因為兩個數字相加(考慮到進製)可能出現的最大和為 9 + 9 + 1 =19。

演算法偽**:

檢查 carry = 1 是否成立,如果成立,則向返回列表追加乙個含有數字 1 的新結點。

返回啞結點的下乙個結點。

public listnode addtwonumbers(listnode l1, listnode l2) 

if (carry > 0)

return dummyhead.next;

}

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 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 465 807分析 其實就是鍊錶從第乙個元素開始相加的問題...