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