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)
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).

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).