Agregue dos números (vea el resumen del video en la estación B)

1  '' ' 
2  Agregue dos números:
 3      Dé dos listas enlazadas no vacías para representar dos enteros no negativos
 4 Los      dígitos respectivos se almacenan en orden inverso. Cada nodo solo puede guardar un dígito
 5  Ejemplo:
 6      Entrada: (2-> 4-> 3) + (5-> 6-> 4)
 7      Salida: 7-> 0-> 8
 8      Motivo: 342 + 465 = 807
 9  
10  '' ' 
11  ' ' ' 
12 es  NodoLista clase:
 13 es      : la __init __ DEF (self, X)
 14          llamada cuando la declaración de clase #
 15          self.val = X
 16          self.next = Ninguno
 17.          # auto refiere a sí mismo en la declaración de clase de una función para agregar sólo Puede acceder a sus propios elementos y otras funciones
 18  a = ListNode (10086)
 19  # print (a, a.
val)20  # <__ main __. Objeto ListNode en 0x000001F76D46A148> 10086 21  
22  # # Tenga en
 cuenta que el elemento de cola apunta al elemento de cabeza
 23  # move = a 
 24  # para i en rango (4):
 25  # temp = ListNode (i)
 26  # # temp is ListNode Node
 27  # move.next = temp
 28  # # move El nodo a continuación es temp 
 29  # move = move.next
 30  # # Mueve el nodo hacia abajo
 31  # move.next = a 32  # # Cambia el
 nodo principal a 
 33  clase Solución1:
 34      def addTwoNumbers (self, l1: ListNode, l2: ListNode) -> ListNode:
 35          res = ListNode (10086)
 36         move = res 
 37          carry = 0
 38          # carry
 39          while l1! = None o l2! = None:
 40              if l1 == None:
 41                  l1, l2 = l2, l1
 42                  # Reemplace la posición, use l1 como salida
 43              si l2 = = Ninguno:
 44                  carry, l1.val = divmod ((l1.val + carry), 10)
 45                  # Actualizar l1
 46                  move.next = l1
 47                  # Establecer datos
 48                  l1, l2, move = l1.next, l2 .next, move.next
 49                  # Mueve los datos hacia abajo
 50              más:
51                  carry, l1.val = divmod ((l1.val + l2.val + carry), 10)
 52                  # Si ninguno es None, se agregan las posiciones correspondientes, y luego se hace el resto
 53                  move.next = l1
 54                  # datos de actualización
 55                  L1, move = l1.next, move.next
 56 es                  # mueve hacia abajo
 57 es          SI == con Carry 1:.
 58              move.next = NodoLista (con Carry)
 59          de retorno res.next
 60  
61 es  ' '' 
62 es  clase NodoLista:
 63 es      DEF  la __init__ (Ser, X):
 64          # realiza cuando la llamada en la declaración de la clase 
65          self.val =X
 66          self.next = Ninguno
 67          # Auto se refiere en sí declaradas en la lata clase funciones de acceso necesitan añadir otros elementos y sus funciones 
68  # A = NodoLista (10086) 
69  
70  # redacción iterativo 
71 es  clase Solution1:
 72      DEF addTwoNumbers (self, l1: ListNode, l2: ListNode) -> ListNode:
 73          def recursive (n1, n2, carry = 0):
 74              if n1 == None y n2 == None:
 75                  return ListNode (1) if carry = 1 = la cosa Ninguno
 76                  # si hay una salida de acarreo
77              IF n1 == Ninguno:
 78                  N1, N2 = N2, N1
 79                  # al sustituir el n1 posición vacía es 
80                  de retorno recursiva Este (n1, Ninguna, con Carry)
 81                  # recursiva recursivamente usando n1 
82              SI N2 == Ninguno:
 83                  con carry, DIVMOD n1.val = ((+ n1.val con acarreo), 10 )
 84                  # valor de retorno y el valor carry reemplazarán el valor de n1 es 
85                  = n1.next recursiva Este (n1.next, Ninguna, con acarreo)
 86                  # Continúe llamando a los siguientes datos de n1, actualice la lista vinculada n1 
87                  devuelva n1
 88             con Carry, DIVMOD n1.val = ((+ n2.val v1.val con Carry +), 10 )
 89              # cuando no existe un valor nulo, se suman para actualizar el valor de n1 
90              = n1.next recursiva Este (n1.next, N2 .A continuación, con Carry)
 91 es              # valor establecido en todos los posteriores n1 n1 y n2 siguiente operación de llamada 
92              de retorno n1 
 93          de retorno recursiva Este (L1, L2)
 94          # para volver al interior de la función de

2020-04-11

Supongo que te gusta

Origin www.cnblogs.com/hany-postq473111315/p/12682862.html
Recomendado
Clasificación