第一次暴力解:
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
import copy
class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
num = l1.val + l2.val
if num >= 10:
temp = 1
else:
temp = 0
result = ListNode(num%10)
node = copy.deepcopy(result)
flag = 0
if l1.next == None and l2.next == None:
if temp == 1:
node.next = ListNode(temp)
return node
else:
return node
while True:
flag += 1
if l1 != None:
l1 = l1.next
if l2 != None:
l2 = l2.next
if l1 == None:
if l2 == None:
if temp == 1:
result.next = ListNode(temp)
return node
else:
return node
else:
num = l2.val + temp
if num >= 10:
temp = 1
else:
temp = 0
result.next = ListNode(num%10)
else:
if l2 == None:
num = l1.val + temp
if num >= 10:
temp = 1
else:
temp = 0
result.next = ListNode(num%10)
else:
num = l1.val + l2.val + temp
if num >= 10:
temp = 1
else:
temp = 0
result.next = ListNode(num%10)
if flag == 1:
node.next = result.next
result = result.next
想了好久才做出来,在下小菜鸡一只。
然后写完之后看有些地方是能放进循环的,循环里面的部分很多也是重复的工作。还是对python不够熟练,不会用的东西有很多,看看评论和题解准备写第二版!