0
点赞
收藏
分享

微信扫一扫

【力扣-数据结构】【第 7 天】141. 环形链表

标题141. 环形链表
难度简单
天数第7天,第1/3题
数据结构链表

示例 1:

在这里插入图片描述

示例 2:

在这里插入图片描述

示例 3:

在这里插入图片描述

提示:

  • 链表中节点的数目范围是 [0, 104]
  • -105 <= Node.val <= 105
  • pos-1 或者链表中的一个 有效索引

思路:

  1. 这里使用快慢指针来找出环形链表节点
  2. 快指针移动两个节点,慢指针移动一个节点,如果快慢指针相遇,那相遇点就是环型链表连接点
/**
 * Definition for singly-linked list.
 * class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    //数据结构  第 7 天 1/3 链表
    public boolean hasCycle(ListNode head) {
        //快指针
        ListNode quick = head;
        //慢指针
        ListNode slow = head;
        while(quick != null && quick.next != null){
            //快指针走两个节点
            quick = quick.next.next;
            //慢指针走一个节点
            slow = slow.next;
            //快慢指针相同,代表存在环
            if(quick == slow){
                return true;
            }
        }
        return false;
    }
}
举报

相关推荐

0 条评论