示例:
输入:(2 -> 4 -> 3)+ (5 -> 6 -> 4)
输出: 7 -> 0 -> 8
规则:342 + 465 = 807
Python解决方案:
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
def addTwoNumbers(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ num1 = l1.val times = 1 while l1.next: num1 += l1.next.val*10**times l1 = l1.next times += 1 num2 = l2.val times = 1 while l2.next: num2 += l2.next.val*10**times l2 = l2.next times += 1 num = str(num1 + num2) head = ListNode(0) tmp = head for i in range(len(num)-1,-1,-1): tmp.next = ListNode(int(num[i])) tmp = tmp.next return head.next