給定兩個用鍊錶表示的整數,每個節點包含乙個數字。
這些數字是反向存放的,也就是個位排在鍊錶首部。
編寫函式對這兩個整數求和,並用鍊錶形式返回結果。
示例:輸入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295
輸出:2 -> 1 -> 9,即912
高階:思考一下,假設這些數字是正向存放的,又該如何解決呢?
示例:輸入:(6 -> 1 -> 7) + (2 -> 9 -> 5),即617 + 295
輸出:9 -> 1 -> 2,即912
#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:
cur=res=listnode(-1)
carry_bit=0
while l1 and
l2: num=l1.val+l2.val+carry_bit
l1.val=num%10carry_bit=num
cur=cur.next
l1,l2=l1.next,l2.next
left=none
ifl1:
left=l1
else
: left=l2
while left and carry_bit>=0:
num=left.val+carry_bit
left.val=num%10carry_bit=num
cur=cur.next
left=left.next
if carry_bit>0:
cur.next=listnode(carry_bit)
return res.next
面試題 02 05 鍊錶求和
給定兩個用鍊錶表示的整數,每個節點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。示例 1.先對應位求和 位數少的數對應位不存在就用0加 2.加上上一次的進製 3.得到當前位 4.記錄進製 當位數大的數遍歷完 遍歷完較長的鍊錶 且進製也為0...
面試題 02 05 鍊錶求和
給定兩個用鍊錶表示的整數,每個節點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。示例 輸入 7 1 6 5 9 2 即617 295 輸出 2 1 9,即912 definition for singly linked list.stru...
面試題 02 05 鍊錶求和
給定兩個用鍊錶表示的整數,每個節點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。輸入 7 1 6 5 9 2 即617 295 輸出 2 1 9,即912 class solution if l2 listnode node new li...