【算法题】一次遍历单向链表找出中间节点

【算法题】一次遍历单向链表找到中间节点

在阅读的过程中有任何问题,欢迎一起交流

邮箱:1494713801@qq.com   

QQ:1494713801


具体方法和思想:

1)设置2个指针,一个走2步时,另一个走1步;

2)那么一个走到头时,另一个走到中间。

iNode * GetMiddleNode ( iNode *head ) 
{ 
    iNode *p1 = head; 
    iNode *p2 = p1; 
    while( p2 ) 
    { 
        p2 = p2->next; 
        if(p2!=NULL) 
        { 
            p2 = p2->next; 
            p1=p1->next; 
        } 
    } 
    return p1; 
}


1楼u010028869昨天 21:05
感谢楼主的分享,望多多指点:http://blog.csdn.net/u010028869 !