- 题目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
- 注意事项
- 考虑进位
欢迎大家关注我的微信公众号 - “水滴杂谈”