[Leetcode.python] 002. Add Two Numbers

  • 题目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


  • 注意事项
    • 考虑进位


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值