需求
判断链表中是否有环
解决思路
1 首先要知道概念 什么是 有环的链表
2 快慢指针思想,快指针在不断的循环中总会追上慢指针
什么是 --- 有环链表
有环的意思,你注意6下一个指针再次指向3,类似一个圆,不断在一个位置转圈
快慢指针思想
快指针一次走两步,慢指针一次走一步,最后两个指针会在某一处相遇
代码实现
/**
* Definition for singly-linked list.
* class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public boolean hasCycle(ListNode head) {
ListNode slow = head;
ListNode fast = head;
while(fast !=null && fast.next!=null){
slow =slow.next;
fast =fast.next.next;
if(slow == fast){
return true;
}
}
return false;
}
}