首页 > 编程语言 > 详细

leetcode-python-Add Two Numbers

时间:2017-02-03 10:40:03      阅读:102      评论:0      收藏:0      [点我收藏+]
#注意链表迭代和进位

# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def addTwoNumbers(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """
#把链表值放进列表中。方便之后迭代 l1a = [] l2a = [] result = [] l1a.append(l1.val) l2a.append(l2.val) loop = ListNode(0) loop1 = l1 loop2 = l2 if l1.next!= None: while True: loop1 = loop1.next l1a.append(loop1.val) print(l1a) if loop1.next == None: break else: pass print(l1a) if l2.next!= None: while True: loop2 = loop2.next l2a.append(loop2.val) print(l2a) if loop2.next == None: break else: pass print(l2a) #将两个链表的值加起来 if len(l1a) > len(l2a): for i in range(0,len(l2a)): result.append(l1a[i] + l2a[i]) for j in range(len(l2a),len(l1a)): result.append(l1a[j]) if len(l1a) < len(l2a): for i in range(0,len(l1a)): result.append(l1a[i] + l2a[i]) for j in range(len(l1a),len(l2a)): result.append(l2a[j]) if len(l1a) == len(l2a): for i in range(0,len(l2a)): result.append(l1a[i] + l2a[i]) print(result) #判断进位 for i in range(0,len(result)): if i < len(result)-1: if result[i] >= 10: result[i] = result[i]%10 result[i+1] +=1 if i == len(result)-1: if result[i] >= 10: result[i] = result[i]%10 result.append(1) return result

  

leetcode-python-Add Two Numbers

原文:http://www.cnblogs.com/Gneiss/p/6361971.html

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