Menu
CoddyTech

Reverse Linked List

next dizisinde saklanan tek yönlü bağlı bir listeniz var: i düğümü next[i] düğümüne bağlanır, -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 edin.

Her bağlantıyı tersine çevirerek listeyi tersine çevirin; böylece eski son düğüm baş düğüm olur ve 0 düğümü, -1'e bağlanarak son düğüm olur. Girdiyle aynı uzunluğa sahip olan güncellenmiş next dizisini döndürün.

Fonksiyon

reverseList(next: integer-array) → integer-array
nextinteger-array
düğümün bağlandığı her bir düğümün indeksi veya son düğüm için -1
Döndürürinteger-array
ters çevrilmiş listenin sonraki dizisi

Kısıtlar

  • 1 ≤ next.length ≤ 5000
  • Her next[i], -1 ya da 0 ile next.length-1 arasında bir düğüm indeksidir.
  • 0 düğümünden başlayarak liste her düğümü tam olarak bir kez ziyaret eder ve ardından -1'e ulaşır. Döngü yoktur.

Örnekler

Girdi
next = [1, 2, 3, -1]
Çıktı
[-1, 0, 1, 2]
Açıklama
Liste 0 → 1 → 2 → 3 şeklindedir. Ters çevrildiğinde 3 → 2 → 1 → 0 olur; bu nedenle 3 düğümü 2'ye, 2 düğümü 1'e, 1 düğümü 0'a ve 0 düğümü -1'e bağlanır.

lock iconGönderirken +11 gizli test

challenge icon

Ek soru

Listenin yalnızca left konumu ile right konumu arasındaki bölümünü tersine çevirip, öncesindeki ve sonrasındaki düğümleri oldukları yerde bırakabilir misin?

Kodu sıfırla
def reverseList(next):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Durum 3

Girdi

next = [1, 2, 3, -1]

Beklenen

[-1, 0, 1, 2]