解析:设立两个指针,比如*p和*q。每次移动两个位置,即p = p->next->next,q每次移动一个位置,即q = q->next,当p到达最后一个结点时,q就是中间节点了!
算法如下:
void searchmid(LNode * head, LNode * mid)
{
LNode * temp = head;
while(head ->next->next != NULL){
head = head->next->next;
temp = temp->next;
mid = temp;
}
}