内容描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
1 # Definition for singly-linked list. 2 # class ListNode(object): 3 # def __init__(self, x): 4 # self.val = x 5 # self.next = None 6 7 class Solution(object): 8 def addTwoNumbers(self, l1, l2): 9 """10 :type l1: ListNode11 :type l2: ListNode12 :rtype: ListNode13 """14 #定义change递归函数,遍历链表,依次乘以10并且相加,重构成一个整数15 def change(node):16 return node.val + 10*change(node.next) if node else 017 18 #把两个整数相加19 num = change(l1) + change(l2)20 21 #将该整数转换成字符串22 s = str(num)[::-1]23 24 #新建一个值为0的节点并指定索引25 l4 = l3 = ListNode(0)26 27 #遍历转换后的字符串形式的和将其值依次赋予链表28 for i in s:29 l3.next = ListNode(i)30 l3 = l3.next31 return l4.next32