eolymp
bolt
Try our new interface for solving problems
Məsələlər

LinkedList Dövrün giriş nöqtəsi

LinkedList Dövrün giriş nöqtəsi

Əlaqələndirilmiş siyahı verilmişdir. Dövrün başladığı təpənin göstəricisini qaytarın. Dövr yoxdursa, null qaytarın.

Əlaqələndirilmiş siyahının təyini:

// Java
class ListNode {
  int val;
  ListNode next;
  ListNode(int x) {
    val = x;
    next = null;
  }
}
// C++
class ListNode
{
public:
  int val;
  ListNode *next;
  ListNode(int x) : val(x), next(NULL) {}
};
// C
struct ListNode
{
  int val;
  struct ListNode *next;
};

Dövrün başladığı təpənin göstəricisini qaytaran detectCycle funksiyasını tərtib edin. Əgər dövr yoxdursa, null qaytarın.

// Java
ListNode detectCycle(ListNode head)
// C, C++
ListNode* detectCycle(ListNode *head)

Nümunə

prb9898.gif

detectCycle funksiyası null qaytarır, çünki əlaqələndirilmiş siyahıda dövr yoxdur.

prb10042_1.gif

detectCycle funksiyası 3 təpəsinin (dövrün giriş nöqtəsininin) göstəricisini qaytarır.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Müəllif Михаил Медведев