zoukankan      html  css  js  c++  java
  • Python实现Leetcode------2. 两数相加

    2. 两数相加


    题目链接:点我


    思路:

    方法1 将l1 和 l2 分别转换为数值,然后求和,在将其转换为ListNode
    方法2 将l1 和l2 的每一位一次计算,将计算的结果直接插入到ListNode 中

    采用第二种方法

    # -*- coding: utf-8 -*-
    """
    Created on Tue Jun  5 17:18:23 2018
    
    @author: Administrator
    """
    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
            """
            ans = ListNode(0)
            temp = ans
            tempsum = 0
    
            while True:
                if (l1 != None):
                    tempsum = l1.val + tempsum
                    l1 = l1.next
                if (l2 != None):
                    tempsum = tempsum + l2.val
                    l2 = l2.next
    
                temp.val = tempsum % 10
                tempsum  = int(tempsum / 10)
    
                if l1 == None  and l2 == None and tempsum == 0:
                    break
    
                temp.next = ListNode(0)
                temp = temp.next
    
            return ans
    
    
    
    
    
    if __name__ == "__main__":
        t1 = ListNode(3)
        t2 = ListNode(4)
        t2.next = t1
        t3 = ListNode(2)
        t3.next = t2
    
    
        b1 = ListNode(4)
        b2 = ListNode(6)
        b2.next = b1
        b3 = ListNode(5)
        b3.next = b2
    
        result = Solution()
        add_sum = result.addTwoNumbers(t3, b3)
    
        while (add_sum != None):
            print (add_sum.val)
            add_sum = add_sum.next
    View Code
  • 相关阅读:
    Censored! POJ
    POJ
    HDU
    ionic中的生命周期函数
    ionic项目相关的操作命令
    数组的join()函数操作
    pop()实现逐个删除数组最后一位并输出
    CSS制作彩虹效果
    ionic2 页面加载时图片添加的问题
    升级ionic版本后,创建新项目报Error Initializing app错误解决
  • 原文地址:https://www.cnblogs.com/NaLaEur/p/9160462.html
Copyright © 2011-2022 走看看