• 【LeetCode】两数相加


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

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

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

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @File  : leet1.py
    # @Author: Lcy
    # @Date  : 2018/11/22
    # @Desc  :  给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
    
    
    # Definition for singly-linked list.
    class ListNode:
        def __init__(self, x):
            self.value = x
            self.next = None
    
    
    class Solution:
        def addTwoNumbers(self, l1, l2):
            """
            :type l1: ListNode
            :type l2: ListNode
            :rtype: ListNode
            """
            res = ListNode(0)  # 结果链表
            cur = res
            sum = 0     # 计算节点的值
            flag = 0    # 是否进位
            while l1 or l2:
                if l1:
                    sum += l1.value
                    l1 = l1.next
                if l2:
                    sum += l2.value
                    l2 = l2.next
                # 如果flag=1 进位1
                if flag == 1:
                    sum += 1
                # 如果大于等于10 就取余进位
                if sum >= 10:
                    flag = 1
                    sum = sum % 10
                cur.next = ListNode(sum)
                cur = cur.next
                # 将计算节点值 置 0
                sum = 0
            # 加到最后一位如果还需要进位就补一个 1    例如  2->4->7   5->6->3   最后应该是 7->0->1->1
            if flag == 1:
                cur.next = ListNode(1)
            return res.next
    
    
    if __name__ == '__main__':
        l1 = ListNode(2)
        l1.next = ListNode(4)
        l1.next.next = ListNode(3)
    
        l2 = ListNode(5)
        l2.next = ListNode(6)
        l2.next.next = ListNode(4)
    
        s = Solution()
        result = s.addTwoNumbers(l1, l2)
        while result != None:
            print(result.value)
            result = result.next
  • 相关阅读:
    删除 SQL Server 2005 Express 工具
    静态和非静态
    C#中的托管和非托管
    类和结构的区别
    asp.net URL DES加密 什在URL中的使用
    正则替换图片路径
    Oracle 正则 一行转多行
    Oracle 存储过程
    HTTP SOAP Request
    jquery 高亮
  • 原文地址:https://www.cnblogs.com/dreamyu/p/10002441.html
Copyright © 2020-2023  润新知