LeetCode題解 2 兩數相加 鍊錶 進製

2021-10-06 18:33:12 字數 998 閱讀 9807

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

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

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

示例 :

輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)

輸出:7 -> 0 -> 8

原因:342 + 465 = 807

兩個鍊錶以及相加結果均為逆序儲存方式(低位在鍊錶前),利於從前到後計算結果,通過乙個while迴圈不斷計算每位的相加結果,迴圈退出條件為所有數都計算完畢。

每次計算的中間結果用乙個臨時變數儲存,並計算對10的取餘值和進製值,將該位結果儲存到新建的鍊錶中。

最後一步可能會有進製值(進製值只能是1)需單獨新增。

/**

* definition for singly-linked list.

* struct listnode

* };

*/class solution

if(l2!=null)

// 結果鍊錶依然是低位在前

cur->next=new listnode(tmp%10);// 取餘數

tmp/=10;// 進製數用於下次計算

cur=cur->next;

}if(tmp!=0)//(兩個1位數和的進製)只可能是1

cur->next=new listnode(1);// tmp=1

return res->next;

}};

輸入

[2,4,3]

[5,6,4]

輸出

[7,0,8]

leetcode題解記錄 2 兩數相加

給你兩個 非空 的鍊錶,表示兩個非負的整數。它們每位數字都是按照 逆序 的方式儲存的,並且每個節點只能儲存 一位 數字。請你將兩個數相加,並以相同形式返回乙個表示和的鍊錶。你可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。輸入 l1 2,4,3 l2 5,6,4 輸出 7,0,8 解釋 34...

LeetCode兩數相加題解

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

LeetCode第2題題解 兩數相加

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