链表的快慢指针:查找中点 野性酷女 2022-09-25 13:22 95阅读 0赞 一直做题都是数组中点,直接算n/2,但是链表的中点怎么求出来,我还真没见过,只能说自己做题太少了。今天做leetcode上的题就遇到了,虽然说简单,但对我来说这是个新的知识点,我得记录一下,代码如下: **\[cpp\]** [view plain][] [copy][view plain] 1. ListNode\* findMidNode(ListNode\* head) 2. \{ 3. ListNode \*slow, \*fast; 4. slow = head; 5. fast = head; 6. 7. **while** (fast && fast->next) 8. \{ 9. slow = slow->next; 10. fast = fast->next-next; 11. \} 12. 13. **return** slow; 14. //这里注意的是,如果fast非空,说明 15. //奇数个节点,slow就是中间那个节点 16. //如下fast为空,那么slow就是是线偏右 //的那个节点 17. 18. \} [view plain]: http://blog.csdn.net/tianyi1991/article/details/47026773#
还没有评论,来说两句吧...