LeetCode2 兩數相加

2022-08-23 05:18:11 字數 898 閱讀 9067

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

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

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

題目精巧的設定成逆序儲存的鍊錶,正好對應加法中的從個位數開始相加的順序,需要注意的是,在相加的過程中,不僅要記錄當前位兩個數字是否有進製,還需要記錄上一次兩數相加的進製情況。

對於長度不想等的兩個鍊錶,當為null時,將null補0來方便計算。

最後判斷相加後,如果進製仍為1,就將進製插入到鍊錶中,使用啞節點來進行返回。

public

listnode addtwonumbers(listnode l1, listnode l2)

//定義啞節點

listnode dummynode = new listnode(-1);

//定義前驅節點遍歷鍊錶

listnode prevnode =dummynode;

//定義進製標誌 1 -> 有進製 0 -> 無進製

int addone = 0;

while (l1 != null || l2 != null

)

if (l2 != null

) prevnode =prevnode.next;

}//如果遍歷完畢後,addone進製還為1,加入到鍊錶

if (addone == 1)

return

dummynode.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 之外,這兩個數字都不會以零開頭。題目思路 先從最低有效位也就是列表 l1 和 l2 的表頭開始相加。由於每位數字都應當處於 0 9 的範圍內,我們計算...