[Leetcode] Linked list cycle 判断链表是否有环
2024-08-27 03:53:35
Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?
判断链表中是否有环,不能用额外的空间,可以使用快慢指针,慢指针一次走一步,快指针一次走两步,若是有环则快慢指针会相遇,若是fast->next==NULL则没有环。
值得注意的是:在链表的题中,快慢指针的使用频率还是很高,值得注意。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
bool hasCycle(ListNode *head)
{
ListNode *pFast=head;
ListNode *pSlow=head; while(pFast&&pFast->next)
{
pSlow=pSlow->next;
pFast=pFast->next->next;
if(pFast==pSlow)
return true;
}
return false;
}
};
最新文章
- 2、C#核心编程结构
- 百度地图SDK
- 学习 Linux,101: 使用基本 SQL 命令
- delphi ftBlob二进制字段读取存储
- csharp: Flash Player play *.flv file in winform
- MySQL与Oracle 差异比较之二基本语法
- bootstrap实现手风琴功能(树形列表)
- 关于android各种双卡手机获取imei,imsi的处理(mtk,展讯,高通等)
- (转载)Windows下手动完全卸载Oracle
- Linux学习之traceroute命令
- PPPOE 模拟环境搭建
- C#将Excel数据导入数据库(MySQL或Sql Server)
- Nvelocity模板引擎开发网页
- MySQL逻辑架构概述
- python 字典 dict 该注意的一些操作
- Java I/O 操作及优化建议
- Mybatis trim标签
- HDU 2553 N皇后问题(深搜DFS)
- 第165天:canvas绘制圆环旋转动画
- vmvare-centos7-vim