Menu
CoddyTech

Add Two Numbers

Kamu mendapatkan dua bilangan bulat nonnegatif, masing-masing disimpan sebagai linked list satu arah yang berisi digit-digitnya, dengan digit paling tidak signifikan di awal. Pada list pertama, node i menyimpan digit values1[i] dan terhubung ke node next1[i]. List kedua bekerja dengan cara yang sama menggunakan next2 dan values2. Pada kedua list, -1 menandai akhir list dan head-nya adalah node 0. Node-node tersebut tidak disimpan sesuai urutan dalam list, jadi ikuti tautannya.

Kembalikan digit-digit hasil penjumlahan kedua bilangan tersebut, dengan digit paling tidak signifikan di awal.

Fungsi

addTwoNumbers(next1: integer-array, values1: integer-array, next2: integer-array, values2: integer-array) → integer-array
next1integer-array
indeks node yang ditautkan oleh setiap node dari angka pertama, atau -1 untuk node terakhirnya
values1integer-array
digit yang disimpan oleh setiap node dari bilangan pertama
next2integer-array
indeks node yang ditautkan oleh setiap node dari angka kedua, atau -1 untuk node terakhirnya
values2integer-array
digit yang disimpan oleh setiap node dari bilangan kedua
Mengembalikaninteger-array
digit-digit hasil penjumlahan, dimulai dari yang paling tidak signifikan

Batasan

  • 1 ≤ L1 ≤ 100, dengan L1 adalah panjang next1 dan values1.
  • 1 ≤ L2 ≤ 100, dengan L2 sebagai panjang next2 dan values2.
  • 0 ≤ values1[i], values2[j] ≤ 9
  • Setiap entri next1 adalah -1 atau indeks node dari list pertama, dan setiap entri next2 adalah -1 atau indeks node dari list kedua.
  • Dimulai dari node 0, setiap list mengunjungi semua node-nya tepat satu kali, lalu mencapai -1. Tidak ada siklus.
  • Tidak ada angka yang memiliki nol di depan: node terakhir dalam list menyimpan digit selain 0, kecuali jika list tersebut hanya berisi digit 0.

Contoh

Input
next1 = [2, -1, 1]values1 = [8, 6, 1]next2 = [2, -1, 1]values2 = [7, 5, 2]
Output
[5, 4, 1, 1]
Penjelasan
List pertama mengunjungi node 0, 2, 1 dan membaca 8, 1, 6, yaitu angka 618. List kedua membaca 7, 2, 5, yaitu angka 527. Jumlahnya 1145, jadi jawabannya adalah 5, 4, 1, 1.
challenge icon

Pertanyaan lanjutan

Bagaimana kamu menjumlahkan angkanya jika list menyimpan digit paling signifikan di urutan pertama?

Reset kode
def addTwoNumbers(next1, values1, next2, values2):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

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

Output yang diharapkan

[5, 4, 1, 1]