【简单算法】25. 环形链表
2018-05-03 14:10
295 查看
题目:
给定一个链表,判断链表中是否有环。 进阶: 你能否不使用额外空间解决此题?
解题思路:
1.快慢指针即可,快指针每次走两步,慢指针每次走一步。快指针追上慢指针,则表示有环。
/** * 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 * first = head; ListNode * second = head; if(!head||!(head->next)){ return false; } do{ first = first->next; second = second->next; if(second){ second = second->next; } }while(first!=second && second && first); if(second == first && first && second){ return true; }else{ return false; } } };
相关文章推荐
- 【数据结构与算法】(二) c 语言链表的简单操作
- 一些简单的链表算法一
- [算法]Java 实现 简单MyNode类型 无序链表 递归 添加 删除 遍历
- 一些简单的链表算法二
- C++ 算法之 是否为环形链表
- 链表算法之环形链表插值
- 《Delphi 算法与数据结构》学习与感悟[6]: 一个简单的"单向链表"
- (四)一个简单的删除链表中某个元素的算法
- 【郝斌数据结构自学笔记】25_判断链表是否为空和求链表长度算法的演示
- (25)Java实现简单的链表
- 笔试算法题(25):复制拥有多个指针的链表 & 判断二元树B是否为A的子树
- 8---------单链表算法的简单应用和巩固
- 基于链表及环形队列的生产者与消费者简单实现
- 算法与数据结构【二】简单链表的实现
- 几种简单的数据结构的C++实现,树,图,链表,环形队列,栈等---栈篇
- 简单算法 - 链表逆序思路详解
- 【数据结构与算法】(二) c 语言链表的简单操作
- 算法最简单之_链表
- (C++)剑指offer-25:复杂链表的复制(分解让复杂问题简单)(再理解)
- 算法--环形链表插值