En İyi 150 RöportajKolay

Bağlantılı Liste Döngüsü

'Bağlantılı Liste Döngüsü' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Kolay

Bağlantılı bir listenin başı olan başlık verildiğinde, bağlantılı listenin içinde bir döngü olup olmadığını belirleyin.

Listede bir sonraki işaretçiyi sürekli takip ederek tekrar ulaşılabilen bir düğüm varsa bağlantılı listede bir döngü vardır. Dahili olarak pos, kuyruğun bir sonraki işaretçisinin bağlı olduğu düğümün dizinini belirtmek için kullanılır. Pos'un parametre olarak iletilmediğini unutmayın.

Bağlantılı listede bir döngü varsa true değerini döndürün. Aksi takdirde false değerini döndürür.

Giriş, bir değerler listesi ve bir tamsayı konumu (kuyruğun bağlandığı dizin, döngü yoksa -1) olarak verilir. hasCycle(head: list, pos: int) -> bool işlevini uygulayın.

Kısıtlamalar
  • The number of nodes in the list is in the range [0, 10000]
  • -100000 <= Node.val <= 100000
  • pos is -1 or a valid index in the linked list

Örnekler

Example 1
Input
[3,2,0,-4], 1
Output
True
Explanation

There is a cycle: the tail node (-4) connects back to the node at index 1 (value 2).

Example 2
Input
[1,2], 0
Output
True
Explanation

There is a cycle: the tail node (2) connects back to the node at index 0 (value 1).

Example 3
Input
[1], -1
Output
False
Explanation

There is no cycle in the list.

Need a Hint?
Kümeler veya yığınlar gibi Bağlantılı Listeye özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Editörde Aç
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.