day14 leetcode-hot100-25(链表4)

141. 环形链表 - 力扣(LeetCode)

1.哈希集合

思路

将节点一个一个加入HashSet,并用contains判断是否存在之前有存储过的节点,如果有便是环,如果没有便不是环。

具体代码
java 复制代码
/**
 * 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) {
        HashSet<ListNode> set = new HashSet<>();
        ListNode p = head;
        while(p!=null){
            if(set.contains(p)){
                return true;
            }
            set.add(p);
            p=p.next;
        }
        return false;
        
    }
}

2.快慢指针

优化空间复杂度为O(1)

思路

一个慢指针每次走1格,一个快指针每次走2格,如果存在环肯定会相遇,如果不存在,最后都为null.

具体代码
java 复制代码
/**
 * 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) {
        if(head == null){
            return false;
        }
        ListNode slow = head;
        ListNode fast = head.next;
        while(slow != null && fast != null){
            if(slow==fast){
                return true;
            }
            
            slow=slow.next;
            if(fast.next!=null){
                fast = fast.next.next;
            }
            else{
                return false;
            }
            
        }
        return false;
    }
}
相关推荐
Learn Beyond Limits8 分钟前
Mean Normalization|均值归一化
人工智能·神经网络·算法·机器学习·均值算法·ai·吴恩达
天选之女wow29 分钟前
【代码随想录算法训练营——Day28】贪心算法——134.加油站、135.分发糖果、860.柠檬水找零、406.根据身高重建队列
算法·leetcode·贪心算法
Gohldg30 分钟前
C++算法·贪心例题讲解
c++·数学·算法·贪心算法
远远远远子1 小时前
类与对象 --1
开发语言·c++·算法
Aaplloo1 小时前
【无标题】
人工智能·算法·机器学习
西望云天1 小时前
The 2024 ICPC Asia Nanjing Regional Contest(2024南京区域赛EJKBG)
数据结构·算法·icpc
10岁的博客1 小时前
容器化安装新玩法
算法
不会算法的小灰1 小时前
HTML简单入门—— 基础标签与路径解析
前端·算法·html
flashlight_hi2 小时前
LeetCode 分类刷题:1901. 寻找峰值 II
python·算法·leetcode
深瞳智检3 小时前
YOLO算法原理详解系列 第007期-YOLOv7 算法原理详解
人工智能·算法·yolo·目标检测·计算机视觉·目标跟踪