Files
leetcode/141.linked-list-cycle.java
2025-10-22 16:35:11 +08:00

42 lines
895 B
Java

/*
* @lc app=leetcode id=141 lang=java
*
* [141] Linked List Cycle
*/
// @lc code=start
/**
* Definition for singly-linked list.
* class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
/**
* 快慢指针,若链表中存在环,则快指针一次动两步,慢指针一次动一步,快指针一定会赶上慢指针
*
* @param head
* @return
*/
public boolean hasCycle(ListNode head) {
ListNode slow = head, fast = head;
boolean isCycle = false;
while(fast != null && fast.next != null) {
fast = fast.next.next;
slow = slow.next;
if(fast == slow) {
isCycle = true;
break;
}
}
return isCycle;
}
}
// @lc code=end