2 兩數相加 力扣 leetcode

2021-10-23 19:52:50 字數 637 閱讀 7022

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

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

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

示例:

輸入:(2-

>4-

>3)

+(5-

>6-

>4)

輸出:7

->0-

>

8原因:342

+465

=807

解題思路:

最開始的想法是將兩個鍊錶轉整數,相加後再將整數轉鍊錶。提交發現超出資料範圍值。然後考慮將整數型別從int提公升到long,但是超過long的範圍還是不行。

考慮到題目沒給鍊錶長度限制,那就只能換思路,乙個乙個數字進行處理。需要考慮進製的問題,引入變數temp儲存進製的值。

**:

class

solution

if(temp >

0) p.next =

newlistnode

(temp)

;return head.next;

}}

兩數相加 力扣 演算法

根據鍊錶獲取鍊錶中的值,按順序存入list private void getlist listnode l,list list 根據字串獲取數字,再進行相加,此處容易出現轉換異常 數字大小超出int long範圍 private long getintnum list list return lon...

兩數相加(力扣C語言)

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

力扣 2 兩數相加

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