LeetCode 刷題記錄 002 兩數相加

2021-08-20 19:14:14 字數 534 閱讀 5013

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

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

示例:

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

輸出:7 -> 0 -> 8

原因:342 + 465 = 807

思路:

因為返回乙個新的鍊錶,所以先要建立乙個新的listnode,因為要計算和,所以構造為0的建構函式,而且用三個指標分別指向l1和l2這兩個鍊錶和新的那個鍊錶,我們建立兩個變數sum和car分別用來記錄這兩個逆序鍊錶的每乙個節點的和以及和的進製,接著使用相加和的個位來構造乙個新的節點,然後讓三個指標都指向下乙個節點,直到l1或者l2為空,如果還有進製,那麼再構造乙個新的節點,比如最後是7 + 7 = 14,那麼需要新構造乙個1的節點

class solution 

if (car > 0 )

return head.next;

}}

leetcode刷題記錄

我覺得每天來兩道,練習練習,再看看人家是怎麼優化的。1.給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。c 暴力求解,204ms,9.1m class solution for index,num in enumerate ...

LeetCode刷題記錄

動態規劃和貪心演算法的異同點 class solution throw newruntimeexception 時間複雜度 o n 2 對於每個元素,我們試圖通過遍歷陣列的其餘部分來尋找它所對應的目標元素,這將耗費 o n o n 的時間。因此時間複雜度為 o n 2 需要一種方法,尋找符合要求的元...

leetcode刷題記錄

工作之餘刷刷題排解下寂寞 1 面試題66.構建乘積陣列 解題思路 題目要求可以簡化為求陣列中任意乙個元素左右兩邊所有元素的乘積。偷懶就用了乙個套路,練習了p c c python class solution def constructarr self,a list int list int 除法是...