2 兩數相加

2021-10-10 06:28:40 字數 1382 閱讀 9368

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

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

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

示例:

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

輸出:7 -> 0 -> 8

原因:342 + 465 = 807

# definition for singly-linked list.

# class listnode:

# def __init__(self, val=0, next=none):

# self.val = val

# self.next = next

class

solution

:def

addtwonumbers

(self, l1: listnode, l2: listnode)

-> listnode:

# 建立頭節點,方便最後返回

pre_head = listnode(-1

) head = pre_head

# 定義進製

carry =

0while l1 or l2:

if l1:

l1_val = l1.val

else

: l1_val =

0if l2:

l2_val = l2.val

else

: l2_val =

0 curr_sum = l1_val + l2_val + carry

carry = curr_sum //

10# 建立當前節點的下乙個節點——即下一位

head.

next

= listnode(curr_sum%10)

head = head.

next

if l1:

l1 = l1.

next

if l2:

l2 = l2.

next

# 最後還需要單獨看看是否有新進製

if carry:

head.

next

= listnode(1)

return pre_head.

next

2 兩數相加

平均星級 4.45 239次評分 2018年2月2日 28.6k次 預覽 給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 ...

2 兩數相加

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

2 兩數相加

給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 465 807演算法 我們首先從最低有效位也就是列表 l1和...