[Botón de encendido - pequeña práctica diaria] 2. Los dos números (Python)

2. Los dos números

enlaces a los temas: https://leetcode-cn.com/problems/add-two-numbers/

título Descripción

Se nos da dos no nulo lista enlazada se utiliza para representar dos no negativo entero. Entre ellos, de acuerdo con su respectiva mediana es la inversa de la forma en almacenamiento, y que cada nodo puede almacenar solamente un dígito.

Si sumamos estos dos números, devolverá una nueva lista y para representarlos.

Se puede suponer que, además de los números 0, estos dos números no comenzarán con 0.

Ejemplos

Entrada : (2 -> 4 -> 3) + (5 -> 6 -> 4)
de salida : 7 -> 0 -> 8
Causa : 342 + 465 = 807

Entrada : (0) + (0)
de salida : 0
Motivo : 0 + 0 = 0

Entrada : (9 -> 8) (1) +
Salida : 0 -> 9
Causa : 89 + 1 = 90

# 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:
        
        result = ListNode(0)
        curr = result
        flag = 0
        while l1 or l2:
            temp1 = 0
            temp2 = 0
            if l1:
                temp1 =  l1.val
                l1 = l1.next
            if l2:
                temp2 = l2.val
                l2 = l2.next
            temp = temp1 + temp2 + flag
            curr.next = ListNode(temp%10)
            curr = curr.next
            flag = temp // 10
        
        if flag != 0:
            curr.next = ListNode(1)

        return result.next if result.next else result
Publicado 44 artículos originales · ganado elogios 5 · Vistas 4472

Supongo que te gusta

Origin blog.csdn.net/ljb0077/article/details/104704860
Recomendado
Clasificación