Menu
CoddyTech

Add Two Numbers

Você recebe dois números inteiros não negativos, cada um armazenado como uma lista simplesmente encadeada de seus dígitos, com o dígito menos significativo primeiro. Na primeira lista, o nó i contém o dígito values1[i] e aponta para o nó next1[i]. A segunda lista funciona da mesma forma, com next2 e values2. Em ambas as listas, -1 marca o fim da lista, e o nó 0 é a cabeça. Os nós não estão armazenados na ordem da lista, então siga os links.

Retorne os dígitos da soma dos dois números, com o dígito menos significativo primeiro.

Função

addTwoNumbers(next1: integer-array, values1: integer-array, next2: integer-array, values2: integer-array) → integer-array
next1integer-array
o índice do nó para o qual cada nó do primeiro número aponta, ou -1 para seu último nó
values1integer-array
o dígito armazenado por cada nó do primeiro número
next2integer-array
o índice do nó ao qual cada nó do segundo número se liga, ou -1 para seu último nó
values2integer-array
o dígito armazenado em cada nó do segundo número
Retornainteger-array
os dígitos da soma, começando pelo menos significativo

Restrições

  • 1 ≤ L1 ≤ 100, onde L1 é o comprimento de next1 e de values1.
  • 1 ≤ L2 ≤ 100, em que L2 é o comprimento de next2 e de values2.
  • 0 ≤ values1[i], values2[j] ≤ 9
  • Cada entrada de next1 é -1 ou um índice de nó da primeira lista, e cada entrada de next2 é -1 ou um índice de nó da segunda lista.
  • A partir do nó 0, cada lista visita cada um de seus nós exatamente uma vez e, em seguida, chega a -1. Não há ciclo.
  • Nenhum número tem zeros à esquerda: o último nó de uma lista contém um dígito diferente de 0, a menos que a lista seja o dígito único 0.

Exemplos

Entrada
next1 = [2, -1, 1]values1 = [8, 6, 1]next2 = [2, -1, 1]values2 = [7, 5, 2]
Saída
[5, 4, 1, 1]
Explicação
A primeira lista visita os nós 0, 2, 1 e lê 8, 1, 6, o número 618. A segunda lê 7, 2, 5, o número 527. A soma deles é 1145, então a resposta é 5, 4, 1, 1.
challenge icon

Para ir além

Como você somaria os números se as listas armazenassem o dígito mais significativo primeiro?

Redefinir código
def addTwoNumbers(next1, values1, next2, values2):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumentos

next1 = [2, -1, 1]
values1 = [8, 6, 1]
next2 = [2, -1, 1]
values2 = [7, 5, 2]

Saída Esperada

[5, 4, 1, 1]