【leetcode hot 100 142】环形链表Ⅱ

解法一:(哈希集合->同141)在循环过程中使用HashSet存放当前ListNode,若以前已经存放过,说明已经遍历过了->有环。

java 复制代码
/**
 * Definition for singly-linked list.
 * class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    public ListNode detectCycle(ListNode head) {
        Set<ListNode> set = new HashSet<>();

        ListNode temp = head;
        while(temp!=null){
            if(set.contains(temp)){
                return temp;
            }
            set.add(temp);
            temp = temp.next;
        }
        return null;
    }
}
相关推荐
iAkuya2 分钟前
(leetcode)力扣100 96.只出现一次的数字(位运算)
算法·leetcode·职场和发展
Tisfy7 分钟前
LeetCode 1622.奇妙序列:懒更新
数学·算法·leetcode·题解·设计
無限進步D7 分钟前
高精度算法 cpp
c++·笔记·算法·入门
qyzm16 分钟前
AtCoder Beginner Contest 449
数据结构·python·算法·贪心算法
liuyao_xianhui16 分钟前
优选算法_判断字符是否唯一_C++
java·开发语言·数据结构·c++·算法·链表
Barkamin17 分钟前
希尔排序的简单实现
数据结构·算法·排序算法
Eward-an18 分钟前
CKA/CKS认证通关复盘:实验环境搭建避坑指南,版本雷区+高效练习全解析
算法
Flying pigs~~23 分钟前
自然语言处理(NLP)开胃小菜
人工智能·算法·自然语言处理·大模型·文本分析处理
Yupureki23 分钟前
《C++实战项目-高并发内存池》7.大块内存的申请与释放
服务器·c语言·开发语言·c++·算法·哈希算法
2401_8898846631 分钟前
模板代码模块化设计
开发语言·c++·算法