著作権ます。https://blog.csdn.net/CAIYUNFREEDOM https://blog.csdn.net/CAIYUNFREEDOM/article/details/91383946
2. 2つの数値を追加します。
中
52601354FavoriteShare
次の2つの与えられている 非空の 二つの非負の整数を表す連結リストを。数字はに格納されている 逆の順序 及びそれらのノードの各々は、単一の数字を含みます。2つの数値を追加し、リンクリストとしてそれを返します。
次の2つの数字が数0自体を除き、任意の先行ゼロを含まない仮定することができます。
例:
入力:(2 - > 4 - > 3)+(5 - > 6 - > 4) 出力: 7 - > 0 - > 8 説明: 342 + 465 = 807。
class Solution(object):
def addTwoNumbers(self, l1, l2):
"""
:type l1: ListNode
:type l2: ListNode
:rtype: ListNode
"""
carry = 0
s = 0
#l1 = l1.next
#l2 = l2.next
res =ListNode(0)
r = res
while True:
if (l1 is None) and (l2 is None):
break
if l1 is None:
a = 0
else:
a = l1.val
l1 = l1.next
if l2 is None:
b = 0
else:
b = l2.val
l2 = l2.next
#print 'dd'
s = a+b+carry
#print s,'= ',a,'+',b,'+',carry
res.next = ListNode(s%10)
res = res.next
carry = s/10
#print 'c',carry
#print 'c',carry
if carry>0:
res.next = ListNode(carry)
return r.next