LeetCode 兩數相加,遞迴解法

2021-10-21 02:25:48 字數 1331 閱讀 2936

給你兩個非空的鍊錶,表示兩個非負的整數。它們每位數字都是按照逆序的方式儲存的,並且每個節點只能儲存一位數字。請你將兩個數相加,並以相同形式返回乙個表示和的鍊錶。你可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。

輸入:l1 =

[2,4,3], l2 =

[5,6,4]

輸出:[7,0,8]

解釋:342 + 465 = 807.

示例2:

輸入:l1 =

[0], l2 =

[0]輸出:[0]

示例3:

輸入:l1 =

[9,9,9,9,9,9,9], l2 =

[9,9,9,9]

輸出:[8,9,9,9,0,0,0,1]

輸入的兩個鍊錶可能節點個數不同,但是我們可以看做是長度相同的兩個鍊錶(短了的部分使用null補充)。

遞迴遍歷兩個鍊錶每個節點構造新的節點,作為上乙個節點的next節點。遞迴結束條件為兩個節點都為空。

注意:當前兩個節點的之和可能大於10,在構造新的節點時應使用和10取餘的結果。進製的數加到下一次遞迴中,如果當前到達遞迴結束條件但是存在進製,那麼需要在新建乙個節點,節點值即為這個進製的值(1)。

public

class 兩數相加

leetcode經典題目 兩數相加(PHP解法)

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

LeetCode 兩數相加

題目來自leetcode 注意幾點 鍊錶對應結點相加時增加前乙個結點的進製,並儲存下乙個結點的進製 兩個鍊錶長度不一致時,要處理較長鍊錶剩餘的高位和進製計算的值 如果最高位計算時還產生進製,則還需要新增乙個額外結點。definition for singly linked list.struct l...

leetcode 兩數相加

給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭.示例 輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 465 807 definition for singly ...