您的位置:首页 > 编程语言 > Python开发

[Leetcode.python] 002. Add Two Numbers

2015-06-21 22:11 519 查看
题目002:Add Two Sum (https://leetcode.com/problems/add-two-numbers/)
给定两个链表表示两个整数,输出两个整数之和的链表表示

解答:
直接模拟整数求和过程即可

def addTwoNumbers(self, l1, l2):
length1 = 0
listnode = l1
while listnode != None:
length1 += 1
listnode = listnode.next

length2 = 0
listnode = l2
while listnode != None:
length2 += 1
listnode = listnode.next

listnode1 = l1
listnode2 = l2
advance = 0
val = listnode1.val + listnode2.val + advance
if val >= 10:
val -= 10
advance = 1
if listnode1 != None:
listnode1 = listnode1.next
if listnode2 != None:
listnode2 = listnode2.next
listnode = ListNode(val)
listnode.next = None
listnode_sum_start = listnode
listnode_sum_end   = listnode
while listnode1 != None or listnode2 != None:
listnode = ListNode(advance)
listnode.next = None
if listnode1 != None:
listnode.val += listnode1.val
if listnode2 != None:
listnode.val += listnode2.val
if listnode.val >= 10:
listnode.val -= 10
advance = 1
else:
advance = 0

listnode_sum_end.next = listnode
listnode_sum_end = listnode

if listnode1 != None:
listnode1 = listnode1.next
if listnode2 != None:
listnode2 = listnode2.next

if advance > 0:
listnode = ListNode(advance)
listnode_sum_end.next = listnode
listnode_sum_end = listnode
return listnode_sum_start


注意事项
考虑进位

欢迎大家关注我的微信公众号 - “水滴杂谈”

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Leetcode python