python求两个链表组成的数字的和

2019-02-20 00:46:39来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。

示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807

代码实现:

 1 class ListNode:
 2     def __init__(self, x):
 3         self.val = x
 4         self.next = None
 5 
 6     def addTwoNumbers(self, l1, l2):
 7         """
 8         :type l1: ListNode
 9         :type l2: ListNode
10         :rtype: ListNode
11         """
12         val_sum = l1.val + l2.val
13         list_node = ListNode(val_sum % 10)
14         a = val_sum // 10
15         node = list_node
16         while True:
17             try:
18                 l1 = l1.next
19             except:
20                 pass
21             try:
22                 l2 = l2.next
23             except:
24                 pass
25             if not l1 and not l2:
26                 break
27             elif not l1:
28                 l1_val = 0
29                 l2_val = l2.val
30             elif not l2:
31                 l2_val = 0
32                 l1_val = l1.val
33             else:
34                 l1_val = l1.val
35                 l2_val = l2.val
36             val_sum = l1_val + l2_val + a
37             temp_node = ListNode(val_sum % 10)
38             node.next = temp_node
39             node = temp_node
40             a = val_sum // 10
41         if a != 0:
42             node.next = ListNode(a)
43         return list_node

注:这是在网上做的练习题,记录一下,有需要的时候方便自己查看。

 


原文链接:https://www.cnblogs.com/wgyang/p/10397954.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:自然语言处理(一)——语言模型评价方法

下一篇:Django链接Mysql 8.0 出现错误(1045:Access denied for user &#3