快慢指针 —— 链表中点
2016-09-23 12:20
267 查看
使用 快慢双指针,快指针一次走两步,慢指针一次走一步,十分 tricky;
双指针的应用场景:
链表中是否有环;
寻找链表的倒数第 K 个结点;
LinkNode* FindMid(LinkNode *p){ if (!p) return NULL; LinkNode* slow = p, *fast = p; while (fast && fast->next){ slow = slow->next; fast = fast->next->next; } return slow; }
双指针的应用场景:
链表中是否有环;
寻找链表的倒数第 K 个结点;
相关文章推荐
- 链表的快慢指针:查找中点
- 链表的快慢指针:查找中点
- Linked List - 单链表找中点 - 快慢指针
- 判断单链表是否为循环链表-----在有序链表中寻找中位数------使用快慢指针
- 【数据结构】单链表—求链表中间节点(只遍历一次链表)— 快慢指针
- 单链表中是否出现环状,使用快慢指针算法。
- 快慢指针在链表的应用
- 快慢指针解决单向链表是否有环的一系列问题
- 链表追赶之快慢指针
- 快慢链表和快慢指针
- 证明利用快慢指针寻找有环单链表中环的起点算法
- 快慢指针在链表的应用
- 链表面试题之快慢指针问题(一) 查找链表中间节点
- 【链表】C++快慢两个指针解决问题(分别求倒数第k个、中间以及环的入口结点)
- 链表之快慢指针续
- 【数据结构】单链表—判断一个链表是否形成了环形结构 — 快慢指针
- 141.leetcode Linked List Cycle(easy)[链表是否有环 快慢指针]
- 链表操作之快慢指针
- 又是一道快慢指针与链表的结合题 Linked List Cycle II
- 快慢指针在链表中的应用