Leetcode-142 环形链表 II

news2024/11/26 11:45:08

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
哈希表

/**
 * 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> storeSet = new HashSet<ListNode>();
         ListNode p=head;  
         int pos=-1;      
        while(p!=null){
            if(!storeSet.add(p)){
                break;
            }
            ++pos;
            p=p.next;
        }
        if(pos==-1){
            return null;
        }
        for(int i=0;i<=pos;i++){
            head=head.next;
        }
        return head;
    }
}

快慢指针:
首先让快指针每次走两个节点,满指针每次走一个节点,快慢指针相遇则存在环。
然后,令慢指针回到head,快慢指针均走一个节点,相遇即为入环的第一个节点。
(解析说可以用数学公式证明,咱数学一般,反正是有点一知半解,只能说是有点秒)

/**
 * 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) {
        if(head==null){
            return null;
        }
        ListNode slowPtr=head,fastPtr=head;
        boolean isExit = false;
        while(fastPtr.next!=null&&fastPtr.next.next!=null){
            slowPtr=slowPtr.next;
            fastPtr=fastPtr.next.next;
            if(slowPtr==fastPtr){
                isExit=true;
                break;
            }
        }
        if(isExit){
            slowPtr=head;
            while(slowPtr!=fastPtr){
                slowPtr=slowPtr.next;
                fastPtr=fastPtr.next;
            }
            return slowPtr;
        }
        return null;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1188718.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[OS]11.9.2023 中断

中断向量表 CPU的设计者必须在中断信息和其处理程序的入口地址之间建立某种联系&#xff0c;使得CPU根据中断信息可以找到要执行的处理程序。 中断信息中包含有标识中断源的类型码。根据CPU的设计&#xff0c;中断类型码的作用就是用来定位中断处理程序。 比如CPU 根据中断类型…

在PostgreSQL中创建和管理数据库

PostgreSQL是一个强大、开源的关系型数据库管理系统&#xff0c;它提供了丰富的功能和灵活的配置选项&#xff0c;使得它成为许多开发者和组织的首选数据库之一&#xff0c;接下来我会介绍如何在PostgreSQL中创建和管理数据库。 一、安装和配置PostgreSQL 第一步&#xff0c;…

ViewPager2 使用

一、什么是ViewPager&#xff1f; 布局管理器允许左右翻转带数据的页面&#xff0c;你想要显示的视图可以通过实现PagerAdapter来显示。这个类其实是在早期设计和开发的&#xff0c;它的API在后面的更新之中可能会被改变&#xff0c;当它们在新版本之中编译的时候可能还会改变…

为什么有的孩子玩着玩着就成了学霸?

毫不夸张地说&#xff0c;几乎所有的父母都想养出聪明宝宝&#xff0c;孩子上学之后能成为学霸就更省心了。 可“聪明”毕竟不能量化&#xff0c;不是说让孩子上几天课就能提升的。很多家长都在促进孩子大脑发育上使足了劲&#xff0c;可到头来却发现是在做“无用功”。 事实…

SUSE 12双网卡绑定

原创作者&#xff1a;运维工程师 谢晋 SUSE 12双网卡绑定 客户环境及需求网卡绑定 客户环境及需求 客户一台物理机安装了SUSE 12的操作系统&#xff0c;需要将ETH5和ETH7双网卡聚合为一块虚拟网卡&#xff0c;以保证一块网卡故障不会影响系统正常运行。 网卡绑定 输入命令c…

C#查看启用或关闭的Windows功能

通过命令查看启用或关闭的Windows功能&#xff0c;以管理员身份打开powershell&#xff0c;输入命令get-windowsoptionalfeature -online 得出结果如下&#xff1a; 如果使用C#查看&#xff0c;需要先安装System.Management 代码如下&#xff1a; private void isInstall() …

Unity | Shader(着色器)和material(材质)的关系

一、前言 在上一篇文章中 【精选】Unity | Shader基础知识&#xff08;什么是shader&#xff09;_unity shader_菌菌巧乐兹的博客-CSDN博客 我们讲了什么是shader&#xff0c;今天我们讲一下shder和material的关系 二、在unity中shader的本质 unity中&#xff0c;shader就…

【紫光同创国产FPGA教程】——PDS安装教程

本原创教程由深圳市小眼睛科技有限公司创作&#xff0c;版权归本公司所有&#xff0c;如需转载&#xff0c;需授权并注明出处 一&#xff1a;软件简介 PangoDesign Suite是紫光同创基于多年FPGA开发软件技术攻关与工程实践经验而研发的一款拥有国产自主知识产权的大规模FPGA开…

软件测评中心▏软件功能测试和非功能测试的区别和联系简析

在软件开发的过程中&#xff0c;功能测试和非功能测试是两个重要的环节。功能测试是指对软件的各项功能进行验证和确认&#xff0c;关注软件是否按照需求规格说明书进行了实现&#xff0c;是否满足了用户的功能需求。而非功能测试是指对软件的性能、可靠性、安全性等方面进行测…

Zabbix之部署代理服务器

一、部署代理服务器 分布式监控的作用 分担server的几种式压力解决多机房之间的网络延时问题 1、搭建proxy主机 1.1 关闭防火墙&#xff0c;修改主机名 systemctl disbale --now firewalld setenforce 0 hostnamectl set-hostname zbx-proxy su1.2 设置zabbix下载源 rpm …

Unity中Shader光照探针的支持

文章目录 前言一、光照探针用在哪怎么用1、光照探针的应用场景2、我们按照以上条件&#xff0c;在Unity中搭建一个相同的环境3、创建光照探针 二、在我们自己的Shader中&#xff0c;实现支持光照探针1、使用常用的 cginc2、在 v2f 中&#xff0c;准备如下变量3、在顶点着色器中…

2023年【安全员-B证】新版试题及安全员-B证免费试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全员-B证新版试题参考答案及安全员-B证考试试题解析是安全生产模拟考试一点通题库老师及安全员-B证操作证已考过的学员汇总&#xff0c;相对有效帮助安全员-B证免费试题学员顺利通过考试。 1、【多选题】下列哪些属…

云表:“智、数”结合,低代码赋能制造业,入局者赢

在数智时代&#xff0c;智能制造正崭露头角&#xff0c;它借助先进的信息技术和数据分析工具&#xff0c;将制造业与人工智能紧密结合&#xff0c;推动生产过程的智能化和自动化。通过大数据、云计算、物联网等前沿技术&#xff0c;智能制造实现了生产线的高效、灵活、可定制的…

文件加密软件怎么用(附2种解密破解工具)

有时候出差或者有些商务场合&#xff0c;需要对一些敏感文件做一下简单的加密&#xff0c;这样在分享内容的时候&#xff0c;可以起到初步的保护作用。 当然了&#xff0c;如果文件非常重要&#xff0c;涉及到一些商业机密&#xff0c;这个时候你需要使用专业的加密工具&#x…

陳烨(本烨)老师受聘為香港國學發展研究院客座教授

香港國學發展研究院有幸宣布&#xff0c;中華傳統文化學者陳烨女士已正式受聘為學院的客座教授。陳烨女士是一位備受尊敬的學者&#xff0c;在中華傳統道學文化領域擁有廣泛的知識和卓越的學術成就。   陳烨女士是中華傳統道學文化領域的知名專家。她不僅在教學方面積累了豐富…

挑战100天 AI In LeetCode Day07(热题+面试经典150题)

挑战100天 AI In LeetCode Day07&#xff08;热题面试经典150题&#xff09; 一、LeetCode介绍二、LeetCode 热题 HOT 100-92.1 题目2.2 题解 三、面试经典 150 题-93.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站&#xff0c;提供各种算法和数据结构的题目&am…

2023禁用谷歌浏览器自动更新最好的解决方式

&#x1f9c1;介绍 对于一些用户来说&#xff0c;Chrome 浏览器的自动更新功能可能会带来一些不便或者不必要的麻烦。 本文将介绍如何使用批处理脚本来停止和禁用 Chrome 的自动更新功能&#xff0c;确保不再进行后台网络操作。文章将详细说明代码的编写和执行步骤。 &#…

FastReport 2023.1.3 基于源码原版本升级 Delphi 12 c++ builder 12

复制 RAD Studio 10.4 为RAD Studio 12 dpk 文本打开 28 改成 29 Build -> install就可以了

福州等保测评机构有几家?正规吗?在哪里?

最近看到不少福州小伙伴在问&#xff0c;福州等保测评机构有几家&#xff1f;正规吗&#xff1f;在哪里&#xff1f;这里小编就给大家来详细解答一下&#xff0c;仅供参考哦&#xff01; 福州等保测评机构有几家&#xff1f;正规吗&#xff1f;在哪里&#xff1f; 【回答】&…

windows系统自动更新中断电导致系统无法开启

windows系统自动更新中断电导致系统无法开启 现象原因解决进入bios拆机更新系统重新安装内存条 现象 前一天晚上电脑出现合上之后风扇继续转的现象&#xff0c;拔掉电源后&#xff0c;第二天开不了机。现象为按压电源键&#xff0c;电源键和充电指示灯亮一次后熄灭&#xff0c…