首页 > 其他 > 详细

leetcode--2.两数相加

时间:2019-02-23 16:29:11      阅读:170      评论:0      收藏:0      [点我收藏+]

内容描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

 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         

 

leetcode--2.两数相加

原文:https://www.cnblogs.com/hengw/p/10423023.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!