LinkedList Orta#10380

LinkedList Orta

1 saniyə
128 meqabayt
Çox asan

Verilmiş əlaqəli siyahının orta elementini tapın.

Əlaqəli siyahının tərifi:

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

MiddleElement funksiyasını yazın ki, bu funksiya orta elementə işarə edən göstəricini qaytarsın. Əgər siyahı n elementdən ibarətdirsə, orta element n / 2-nin tavanı indeksinə malik element olacaq.

ListNode MiddleElement(ListNode head)
ListNode* MiddleElement(ListNode *head)
ListNode* MiddleElement(ListNode *head)

Nümunə

prb10380.gif

Siyahının uzunluğu n = 5 təkdir. MiddleElement funksiyası 3 dəyərinə malik olan zirvəyə işarə edən göstəricini qaytarmalıdır (orta element).

prb10380_1.gif

Siyahının uzunluğu n = 4 cütdür. MiddleElement funksiyası 2 dəyərinə malik olan zirvəyə işarə edən göstəricini qaytarmalıdır (orta element).