第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 視為錯誤的情況 我...