链表的快慢指针:查找中点
2016-09-11 10:50
162 查看
一直做题都是数组中点,直接算n/2,但是链表的中点怎么求出来,我还真没见过,只能说自己做题太少了。今天做leetcode上的题就遇到了,虽然说简单,但对我来说这是个新的知识点,我得记录一下,代码如下:
[cpp] view
plain copy
ListNode* findMidNode(ListNode* head)
{
ListNode *slow, *fast;
slow = head;
fast = head;
while (fast && fast->next)
{
slow = slow->next;
fast = fast->next-next;
}
return slow;
//这里注意的是,如果fast非空,说明
//奇数个节点,slow就是中间那个节点
//如下fast为空,那么slow就是是线偏右 //的那个节点
}
[cpp] view
plain copy
ListNode* findMidNode(ListNode* head)
{
ListNode *slow, *fast;
slow = head;
fast = head;
while (fast && fast->next)
{
slow = slow->next;
fast = fast->next-next;
}
return slow;
//这里注意的是,如果fast非空,说明
//奇数个节点,slow就是中间那个节点
//如下fast为空,那么slow就是是线偏右 //的那个节点
}
相关文章推荐
- 链表的快慢指针:查找中点
- 快慢指针 —— 链表中点
- Linked List - 单链表找中点 - 快慢指针
- 链表面试题之快慢指针问题(一) 查找链表中间节点
- c 链表之 快慢指针 查找循环节点(转)
- c 链表之 快慢指针 查找循环节点
- 数据结构之快慢指针查找链表中间结点
- 求未知长度链表的中间结点---快慢指针
- 【数据结构】单链表—判断一个链表是否形成了环形结构 — 快慢指针
- 证明利用快慢指针寻找有环单链表中环的起点算法
- 快慢指针解决单向链表是否有环的一系列问题
- 141.leetcode Linked List Cycle(easy)[链表是否有环 快慢指针]
- 线性表(插入/清除数据/快慢指针查找中间数据)
- 利用快慢指针快速得到链表中间节点
- 链表追赶之快慢指针
- c语言快慢指针之找未知长度单链表中间结点 的值并显示
- 单链表中是否出现环状,使用快慢指针算法。
- 链表使用快慢指针求中间值
- 快慢指针在链表的应用
- 链表之快慢指针续