Node* FindMid(Node* head) { if(NULL == head||NULL = head->next) return head; Node *p = head->next;; Node *q = p; while(NULL != p) { p = p->next->next; q = q->next; } return q; }