目录
一.基础方法:计算链表长度,遍历链表找出中间结点
二.快慢指针法
原理:用快慢指针分析:大致可以分为奇数个结点和偶数个结点两种情况。创建两个指针变量,一个为slow指针,一个为fast指针。slow指针一次走一步,fast指针一次走两步,走到最后fast指针走过的长度一定是slow指针走过的二倍。此时fast为最后一个结点(偶数结点时为NULL),slow为中间的那个节点(偶数结点时为中间靠后那个节点)。最后返回slow指针即可。
目录
原理:用快慢指针分析:大致可以分为奇数个结点和偶数个结点两种情况。创建两个指针变量,一个为slow指针,一个为fast指针。slow指针一次走一步,fast指针一次走两步,走到最后fast指针走过的长度一定是slow指针走过的二倍。此时fast为最后一个结点(偶数结点时为NULL),slow为中间的那个节点(偶数结点时为中间靠后那个节点)。最后返回slow指针即可。