直接写
1 # Definition for singly-linked list. 2 # class ListNode(object): 3 # def __init__(self, val=0, next=None): 4 # self.val = val 5 # self.next = next 6 def addNum(l): 7 num = 0 8 res = 0 9 while l: 10 res += (10 ** num) * l.val 11 num += 1 12 l = l.next 13 return res 14 15 class Solution(object): 16 def addTwoNumbers(self, l1, l2): 17 """ 18 :type l1: Optional[ListNode] 19 :type l2: Optional[ListNode] 20 :rtype: Optional[ListNode] 21 """ 22 num1 = addNum(l1) 23 num2 = addNum(l2) 24 resNum = num1+num2 25 resNode = ListNode() 26 if resNum < 10: 27 resNode.val = resNum 28 return resNode 29 currNode = resNode 30 currNode.val = resNum % 10 31 resNum /= 10 32 while resNum >= 10: 33 currNode.next = ListNode() 34 currNode.next.val = resNum % 10 35 resNum /= 10 36 currNode = currNode.next 37 currNode.next = ListNode() 38 currNode.next.val = resNum 39 return resNode 40 41 42 43