LeetCode142.环形链表2——找出入环点_一个环链表找入环节点-程序员宅基地

技术标签: c#  linq  LeetCode刷题  p2p  

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */

struct ListNode *detectCycle(struct ListNode *head) {
    //方法一:思路推理过程很重要
    struct ListNode * slow = head, *fast = head;
    while(fast && fast->next)
    {
        slow = slow->next;
        fast = fast->next->next;
        if(slow == fast)
        {
            //此时为相遇点
            struct ListNode* meet = fast;
            //通过推论证明,一个指针从meet走
            //另一个从head走,他们会在入点相遇
            while(meet != head)
            {
                meet = meet->next;
                head = head->next;
            }
            return meet;
        }
    }
    return NULL; 

    //思路二:环从相遇点断开,并以下一个为newhead,转换为相交问题并求相交点;
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_60416282/article/details/124701423

智能推荐

MySQL-mysql安装步骤_mysqld --install-程序员宅基地

文章浏览阅读1.1k次。下载后解压缩,将解压后的文件放在某个文件目录中(位置随意)运行命令后会出现一个默认密码(记下这个密码,后面会用到)进入mysql文件夹,创建一个文件,文件名为。以管理员身份运行cmd窗口,进入mysql的。输入之前初始化后得到的默认密码,即可登录。退出后再次用新密码验证即可。按回车即可修改成功,输入。_mysqld --install

CCF推荐国际学术期刊_ccf国际期刊-程序员宅基地

文章浏览阅读1w次。中国计算机学会推荐国际学术期刊 (计算机系统与高性能计算)一、A类序号刊物简称刊物全称出版社网址1TOCSACM Transactions on Computer SystemsACMhttp://tocs.acm.org/2_ccf国际期刊

【C/C++】将32位int转化为double_int32_t转double-程序员宅基地

文章浏览阅读4.4k次。闲来无事,看看了V8的代码,在V8.cc中有这么一段:// Use a union type to avoid type-aliasing optimizations in GCC.typedef union { double double_value; uin_int32_t转double

OTB、VOT指标及相关滤波跟踪算法_vot2019 相关滤波-程序员宅基地

文章浏览阅读1.1k次,点赞8次,收藏15次。完整PPT请于 相关滤波目标跟踪算法以及评价 下载1.背景VOT2018最新结果:2.OTB评价指标3.VOT评价指标4.基于相关滤波的目标跟踪算法完整PPT请于相关滤波目标跟踪算法以及评价下载..._vot2019 相关滤波

openEuler操作系统安装+部署+配置_openeuler配置-程序员宅基地

文章浏览阅读1.2k次,点赞22次,收藏13次。openEuler 22.03 LTS SP2安装部署+配置_openeuler配置

嵌入式--ADC实验原理及相关库函数功能_嵌入式adc实验-程序员宅基地

文章浏览阅读3.2k次,点赞2次,收藏20次。嵌入式--ADC实验原理及相关库函数功能_嵌入式adc实验

随便推点

冯鑫、雷军、王峰、蒋涛、傅盛等金山系老将,已将区块链拼成完整生态图-程序员宅基地

文章浏览阅读407次。文丨互链脉搏·元尚未经授权,不得转载!7月28日,暴风集团CEO冯鑫被捕的消息在科技圈炸响。因涉及暴风集团2016年与光大资本共同发起的一起收购案,消息称,冯鑫在此项目的...

vs2019中如何创建qt项目_Qt在vs2019中使用及设置方法-程序员宅基地

文章浏览阅读5.7k次,点赞2次,收藏16次。下载对应Qt扩展在vs2019中搜索下载qt vs tools如图所示下载后会自动安装,完成后重启在进行下一步设置。如果下载卡住或者太慢可以采用网站下载。在visual studio网站中下载如图下载后关闭所有有关vs2109程序,然后如正常安装软件双击运行就行。在Qt网站中下载对应扩展addin选择一个版本就行,一般最新的就可以如图下载后关闭所有有关vs2109程序,然后如正常安装软件双击运行就..._如何在vs2019的项目中添加 qt

如何使用Lock ?Lock 与synchronized 区别是什么?_lock out lock in区别-程序员宅基地

文章浏览阅读304次。Lock就像同步块一样,java.util.concurrent.locks.Lock是线程同步机制。但是,锁比同步块更灵活,更复杂。由于Lock是接口,因此需要使用其实现之一在应用程序中使用Lock。 ReentrantLock是Lock接口的一种此类实现。代码实例Lock lock = new ReentrantLock(); lock.lock(); lock.unlock();Lock与synchronized不同之处1.Lock可以设置超时.而s..._lock out lock in区别

Vue.js--表单绑定数据、修饰符详解_vue中行内能写小括弧语法吗?-程序员宅基地

文章浏览阅读705次。单行输入框<div id="myApp"> <h1>表单控件绑定</h1> <input type="text" v-model="message" placeholder="编辑栏"> <p>Message is: {{message}}</p></div><script>..._vue中行内能写小括弧语法吗?

LOJ10050 The XOR Largest Pair 题解-程序员宅基地

文章浏览阅读182次。算Trie模板题了吧_loj10050

玩转Ubuntu零基础教程,让你成为Ubuntu高手。-程序员宅基地

文章浏览阅读3.6w次,点赞18次,收藏51次。Ubuntu保姆级教程,让你成为Ubuntu高手。_玩转ubuntu

推荐文章

热门文章

相关标签