单链表之查找单链表的中间节点
这个实际上之前在反转算法中已经实现过了,这里给大家复习以下思路。
思路
使用快指针和慢指针的方法,快指针每次走两步,慢指针每次走一步,当快指针到达尾部的时候,慢指针刚好走过了链表长度的1/2 即指向了中间节点。
代码
1 | /** |
注意:这里会涉及到链表长度是偶数还是奇数的问题,可以看return语句中的三目运算,理解了之后就可以根据自己的需求灵活调整。
这个实际上之前在反转算法中已经实现过了,这里给大家复习以下思路。
使用快指针和慢指针的方法,快指针每次走两步,慢指针每次走一步,当快指针到达尾部的时候,慢指针刚好走过了链表长度的1/2 即指向了中间节点。
1 | /** |
注意:这里会涉及到链表长度是偶数还是奇数的问题,可以看return语句中的三目运算,理解了之后就可以根据自己的需求灵活调整。