[Leetcode 141] Linked List Cycle
来源:互联网 发布:photoshop for mac下载 编辑:程序博客网 时间:2024/04/29 18:59
题目
判断单链表里是否有环
分析
用两个指针P1和P2,P1每次走一步,P2每次走两步,如果链表中有环,两个指针一定会在环中相遇。
C代码
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */bool hasCycle(struct ListNode *head) { if(head==NULL){ return false; } struct ListNode* quick = head; struct ListNode* slow = head; do{ if(quick==NULL || quick->next==NULL) return false; quick = quick->next->next; slow = slow->next; }while(quick!=slow); return true;}
C++代码
/** * 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) { if(head==NULL || head->next==NULL){ //空指针和只有一个结点,输出false return false; } ListNode* quick = head; ListNode* slow = head; while(quick!=NULL && quick->next!=NULL){ //注意循环结束条件,因为quick每次走两步 quick = quick->next->next; slow = slow->next; if(quick == slow){ return true; } } return false; }};
0 0
- LeetCode(141)Linked List Cycle
- LeetCode 141 Linked List Cycle
- LeetCode 141 Linked List Cycle
- LeetCode: Linked List Cycle [141]
- [leetcode 141] Linked List Cycle
- [leetcode]141 Linked List Cycle
- LeetCode 141 Linked List Cycle
- leetcode || 141、Linked List Cycle
- Leetcode[141]-Linked List Cycle
- leetcode-141-Linked List Cycle
- [Leetcode 141] Linked List Cycle
- leetcode 141: Linked List Cycle
- [Leetcode]#141 Linked List Cycle
- leetCode #141 Linked List Cycle
- leetcode: (141) Linked List Cycle
- [leetcode] #141 Linked List Cycle
- 【leetcode】【141】Linked List Cycle
- 【LEETCODE】141-Linked List Cycle
- 关于move_uploaded_file()出错的问题
- UE4学习笔记1st
- HDUOj Ignatius and the Princess III 题目1002
- Android Gradle Plugin指南(一)——简介 - 琴弦第七的专栏 - 博客频道 - CSDN.NET
- UVA 10420 List of Conquests
- [Leetcode 141] Linked List Cycle
- vector 三
- Watch The Movie(严格限制数量的二维费用背包)
- GTK入门学习:布局练习之计算器
- 读书笔记4 用户体验要素
- 三个同步与互斥问题之哲学家就餐
- Android Gradle Plugin指南(二)——基本项目 - 琴弦第七的专栏 - 博客频道 - CSDN.NET
- POJ 2945 Find the Clones
- UVA 401