zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    SPOJ375(树链剖分)
    最短路相关模板、总结
    Linux入门基础#2:Linux文件系统基本结构
    poj 2229 Sumsets (DP)
    Power BI for Office 365(七) Power BI站点
    HDU1045 Fire Net
    Android 系统搜索框(有浏览记录)
    Struts2 Action接收表单参数
    要注意的点
    复习昨天的,继续过Hard题目
  • 原文地址:https://www.cnblogs.com/TreeDream/p/10295098.html
Copyright © 2011-2022 走看看