Menu
CoddyTech

Add Two Numbers

Ti vengono forniti due numeri interi non negativi, ciascuno memorizzato come lista concatenata semplice delle sue cifre, con la cifra meno significativa per prima. Nella prima lista, il nodo i contiene la cifra values1[i] e punta al nodo next1[i]. La seconda lista funziona allo stesso modo con next2 e values2. In entrambe le liste, -1 indica la fine della lista e la testa è il nodo 0. I nodi non sono memorizzati nell'ordine della lista, quindi segui i collegamenti.

Restituisci le cifre della somma dei due numeri, dalla meno significativa alla più significativa.

Funzione

addTwoNumbers(next1: integer-array, values1: integer-array, next2: integer-array, values2: integer-array) → integer-array
next1integer-array
l'indice del nodo a cui è collegato ciascun nodo del primo numero, oppure -1 per il suo ultimo nodo
values1integer-array
la cifra rappresentata da ciascun nodo del primo numero
next2integer-array
l'indice del nodo a cui è collegato ciascun nodo del secondo numero, oppure -1 per il suo ultimo nodo
values2integer-array
la cifra contenuta in ciascun nodo del secondo numero
Restituisceinteger-array
le cifre della somma, dalla meno significativa alla più significativa

Vincoli

  • 1 ≤ L1 ≤ 100, dove L1 è la lunghezza di next1 e di values1.
  • 1 ≤ L2 ≤ 100, dove L2 è la lunghezza di next2 e di values2.
  • 0 ≤ values1[i], values2[j] ≤ 9
  • Ogni elemento di next1 è -1 o un indice di nodo della prima lista, e ogni elemento di next2 è -1 o un indice di nodo della seconda lista.
  • A partire dal nodo 0, ciascuna lista visita ognuno dei suoi nodi esattamente una volta e poi raggiunge -1. Non c'è alcun ciclo.
  • Nessun numero ha zeri iniziali: l'ultimo nodo di una lista contiene una cifra diversa da 0, a meno che la lista non sia la singola cifra 0.

Esempi

Input
next1 = [2, -1, 1]values1 = [8, 6, 1]next2 = [2, -1, 1]values2 = [7, 5, 2]
Output
[5, 4, 1, 1]
Spiegazione
La prima lista visita i nodi 0, 2, 1 e legge 8, 1, 6, il numero 618. La seconda legge 7, 2, 5, il numero 527. La loro somma è 1145, quindi la risposta è 5, 4, 1, 1.
challenge icon

Per approfondire

Come sommeresti i numeri se le liste memorizzassero per primo la cifra più significativa?

Ripristina il codice
def addTwoNumbers(next1, values1, next2, values2):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomenti

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

Output atteso

[5, 4, 1, 1]