中等難度 1

2022-09-18 11:39:19 字數 1172 閱讀 2202

第2題(在leetcode題號為2)

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

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

#

definition for singly-linked list.

#class listnode(object):

#def __init__(self, x):

#self.val = x

#self.next = none

class

solution(object):

defadd_two_numbers(self, l1, l2):

""":type l1: listnode

:type l2: listnode

:rtype: listnode

"""carry =0 # 定義進製引數,其值為0或1

# dummy為啞結點

dummy =listnode(0)

p =dummy

while l1 or

l2: num1 = l1.val if l1 else

0 num2 = l2.val if l2 else

0 val = num1 + num2 +carry

carry = 1 if val >=10 else

0 p.next = listnode(val % 10)

p =p.next

if l1: l1 =l1.next

if l2: l2 =l2.next

if carry: p.next = listnode(1) # 最後一位也得考慮進製

return

dummy.next

啞結點

啞結點其實就是放在首結點之前、表頭指標之後的結點。加入啞結點之後就可以使所有資料結點都有前驅結點,這樣就會方便執行鍊錶的一些操作。

二 leetcode 中等難度 1

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

careercup 中等難度 17 7

17.7 給定乙個整數,列印該整數的英文描述 例如 one thousand,two hundred thirty four 解法 舉個例子,在轉換19 323 984時,我們可以考慮分段處理,沒三位轉換一次,並在適當的地方插入 thousand 千 和 million 百萬 也即,convert ...

careercup 中等難度 17 8

17.8 給定乙個整數陣列 有正數和負數 找出總和最大的連續序列,並返回總和。解法 就是求連續子串行的和最大,不過存在乙個問題 假設整個陣列都是負數,怎麼樣才是正確的行為呢?看看這個簡單的陣列,一下答案每個都可以說的通 3 假設子串行不能為空 0 子串行的長度為空 int min 視為錯誤的情況 我...