int getLength (node* head) {
int length = 0;
node* temp = head;
while (temp != NULL) {
length++;
temp = temp -> next;
}
return length;
}
node* middleNode (node* head) {
int length = getLength(head);
int mid = (length/2) + 1;
int cnt = 1;
node* temp = head;
while (cnt < mid) {
temp = temp -> next;
cnt++;
}
return temp;
}