Menu
CoddyTech

Add Two Numbers

İki negatif olmayan tam sayı alırsın; her biri, basamaklarının en küçük anlamlı basamak önce gelecek şekilde tek yönlü bağlı liste olarak saklanır. İlk listede i düğümü values1[i] basamağını tutar ve next1[i] düğümüne bağlanır. İkinci liste de next2 ve values2 ile aynı şekilde çalışır. Her iki listede de -1 listenin sonunu belirtir ve baş düğüm 0'dır. Düğümler liste sırasına göre saklanmadığından bağlantıları takip et.

İki sayının toplamının basamaklarını, en küçük anlamlı basamak önce gelecek şekilde döndür.

Fonksiyon

addTwoNumbers(next1: integer-array, values1: integer-array, next2: integer-array, values2: integer-array) → integer-array
next1integer-array
ilk sayının her bir düğümünün bağlandığı düğümün indeksi veya son düğümü için -1
values1integer-array
İlk sayının her düğümünde tutulan rakam
next2integer-array
ikinci sayının her düğümünün bağlandığı düğümün indeksi veya son düğümü için -1
values2integer-array
İkinci sayının her düğümünde tutulan rakam
Döndürürinteger-array
toplamın basamakları, en düşük basamaktan başlayarak

Kısıtlar

  • 1 ≤ L1 ≤ 100; burada L1, next1 ve values1 uzunluğudur.
  • 1 ≤ L2 ≤ 100; burada L2, next2 ve values2 uzunluğudur.
  • 0 ≤ values1[i], values2[j] ≤ 9
  • next1 öğesinin her bir girdisi -1 ya da ilk listenin bir düğüm dizinidir ve next2 öğesinin her bir girdisi -1 ya da ikinci listenin bir düğüm dizinidir.
  • 0 düğümünden başlayarak her liste, düğümlerinin her birini tam olarak bir kez ziyaret eder ve ardından -1 değerine ulaşır. Döngü yoktur.
  • Hiçbir sayının başında sıfır bulunmaz: Liste tek basamaklı 0 sayısından oluşmadığı sürece, listenin son düğümü 0 dışında bir rakam içerir.

Örnekler

Girdi
next1 = [2, -1, 1]values1 = [8, 6, 1]next2 = [2, -1, 1]values2 = [7, 5, 2]
Çıktı
[5, 4, 1, 1]
Açıklama
İlk liste 0, 2, 1 düğümlerini ziyaret eder ve 8, 1, 6 değerlerini okuyarak 618 sayısını oluşturur. İkinci liste 7, 2, 5 değerlerini okuyarak 527 sayısını oluşturur. Toplamları 1145 olduğundan cevap 5, 4, 1, 1 olur.
challenge icon

Ek soru

Listeler en anlamlı basamağı ilk sırada tutuyorsa sayıları nasıl toplardın?

Kodu sıfırla
def addTwoNumbers(next1, values1, next2, values2):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argümanlar

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

Beklenen Çıktı

[5, 4, 1, 1]