zoukankan      html  css  js  c++  java
  • LeetCode 2. Add Two Numbers

    Description

      You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

      You may assume the two numbers do not contain any leading zero, except the number 0 itself.

    Example:

      Input: (2 -> 4 - > 3) + (5 -> 6 - > 4)

      Output: 7 -> 0 - > 8

      Explanation: 342 + 465 = 807.

    Python code

    # Definition for singly-linked list.
    # class ListNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution:
        def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
            """
            :type l1: ListNode
            :type l2: ListNode
            :rtype: ListNode
            """
            carry = 0 
            head = ListNode(0)
            currentNode = head
            while l1 or l2:
                if l1:
                    carry += l1.val
                    l1 = l1.next
                if l2:
                    carry += l2.val
                    l2 = l2.next
                    
                currentNode.next = ListNode(carry%10)
                currentNode = currentNode.next
                carry = carry//10
                
            if carry == 1:
                currentNode.next = ListNode(1)
                currentNode = currentNode.next
            return head.next
    
    
  • 相关阅读:
    day72日考
    项目开发流程
    js 之 JSON详解
    MySQL 中的 FOUND_ROWS() 与 ROW_COUNT() 函数
    mysql 之 函数
    liunx 之 Ubuntu 网速慢解决方法
    js 之 object
    js 之 箭头函数 (未学完)
    java 之 学习过程中遇到的大佬博客
    java 之 enum(枚举)
  • 原文地址:https://www.cnblogs.com/xiaotongtt/p/10666323.html
Copyright © 2011-2022 走看看