python鍊錶兩數相加

2021-10-05 12:30:17 字數 1444 閱讀 5234

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

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

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

例如:342 + 475 = 817

2->4->3 + 5->7->4 = 7->1->8

# definition for singly-linked list.

# class listnode:

# def __init__(self, x):

# self.val = x

# self.next = none

class

solution

:def

addtwonumbers

(self, l1: listnode, l2: listnode)

-> listnode:

return self.addtwo(l1, l2)

defaddtwo

(self, l1, l2, add_value =0)

:ifnot l1 and

not l2 and add_value ==0:

# 如果兩個節點都不存在,並且進製值為0,返回none,遞迴結束條件

return

none

else

: l1_value = l1.val if l1 else

0# 讀取l1節點值

l2_value = l2.val if l2 else

0# 讀取l2節點值

node_value = l1_value + l2_value + add_value # 求出兩個節點值之和

l1_next = l1.

next

if l1 else

none

# 獲取next節點

l2_next = l2.

next

if l2 else

none

if node_value >=10:

# 如果有進製,對next節點進行加一操作

result_node = listnode(node_value -10)

result_node.

next

= self.addtwo(l1_next, l2_next,1)

pass

else

: result_node = listnode(node_value)

result_node.

next

= self.addtwo(l1_next, l2_next)

return result_node

兩數相加 鍊錶

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

兩煉表數相加

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

鍊錶兩數相加

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