自己的暴力解法
# 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:
i = 0
n = 0
while l1 or l2 or i :
if l1:
val_1 = l1.val
l1 = l1.next
else:
val_1 = 0
if l2:
val_2 = l2.val
l2 = l2.next
else:
val_2 = 0
val = val_1 + val_2 + i
if val > 9:
val = val % 10
i = 1
else:
i = 0
if n == 0:
L3 = ListNode(val)
l3 = L3
else:
l3.next = ListNode(val)
l3 = l3.next
n += 1
return(L3)
优雅一点写法, 原理也差不多
class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
p = rst = ListNode(0,None)
i = 0
while l1 or l2 or i:
if l1 is None: l1 = ListNode(0,None)
if l2 is None: l2 = ListNode(0,None)
_sum = l1.val + l2.val + i
i = _sum//10
p.next = ListNode(_sum%10,None)
l1,l2,p = l1.next,l2.next,p.next
return rst.next