内容描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
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: ListNode 11 :type l2: ListNode 12 :rtype: ListNode 13 """ 14 #定义change递归函数,遍历链表,依次乘以10并且相加,重构成一个整数 15 def change(node): 16 return node.val + 10*change(node.next) if node else 0 17 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.next 31 return l4.next 32
原文:https://www.cnblogs.com/hengw/p/10423023.html