• leetcode 2. 两数相加


    给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

    如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。

    您可以假设除了数字 0 之外,这两个数都不会以 0 开头。

    示例:

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

    Python 链表,下一个节点直接指向对象。

    # Definition for singly-linked list.
    class ListNode:
        def __init__(self, x):
            self.val = x
            self.next = None
    
    class Solution:
        def addTwoNumbers(self, l1, l2):
            """
            :type l1: ListNode
            :type l2: ListNode
            :rtype: ListNode
            """
            re = ListNode(0)
            r = re
            carry = 0
            while l1 or l2:
                x1 = l1.val if l1 else 0
                x2 = l2.val if l2 else 0
                s = x1 + x2 + carry
                carry = s // 10
                r.next = ListNode(s%10)
                r = r.next
                if l1!=None: l1 = l1.next
                if l2!=None: l2 = l2.next
    
            if carry > 0:
                r.next = ListNode(1)
    
            return re.next
    
    
    
    a = ListNode(2)
    a.next = ListNode(4)
    a.next.next = ListNode(3)
    
    b = ListNode(5)
    b.next = ListNode(6)
    b.next.next= ListNode(4)
    
    main = Solution()
    ans = main.addTwoNumbers(a,b)
    
    while ans:
        print(ans.val,end='')
        ans = ans.next

  • 相关阅读:
    java抽象类
    java不支持多继承
    logback颜色
    @ConfigurationProperties、@Value、@PropertySource
    redis命令
    mac下安装rabbitmq
    mac下安装jmeter
    python TypeError: 'int' object is not callable 问题解决
    白炽灯串联发光问题_高中知识(原创)
    python 离散序列 样本数伸缩(原创)
  • 原文地址:https://www.cnblogs.com/TreeDream/p/10295098.html
Copyright © 2020-2023  润新知