博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。...
阅读量:4931 次
发布时间:2019-06-11

本文共 1329 字,大约阅读时间需要 4 分钟。

/* public class ListNode {    int val;    ListNode next = null;    ListNode(int val) {        this.val = val;    }}*/public class Solution {    public static ListNode EntryNodeOfLoop(ListNode pHead)    {        ListNode meet = meetNode(pHead);                if(meet == null){            return null;        }                int repeatNode = 1;        ListNode node = meet;        while(node.next != meet){            ++repeatNode;            node = node.next;        }        node = pHead;        //将快节点放在比头结点多环数个节点的位置        for(int i = 0; i < repeatNode; i++){            node = node.next;        }        ListNode node2 = pHead;        while(node != node2){            node = node.next;            node2 = node2.next;        }        return node;            }    public static ListNode meetNode(ListNode pHead){                 if(pHead == null || pHead.next == null){            return null;        }        ListNode pSlow = pHead.next;        ListNode pFast = pSlow.next;                while(pSlow != null && pFast !=null){            if(pSlow == pFast){                return pFast;            }            pSlow = pSlow.next;            pFast = pFast.next;            if(pFast != null){                pFast = pFast.next;            }        }        return null;    }}

 

转载于:https://www.cnblogs.com/q-1993/p/10953696.html

你可能感兴趣的文章
phpcms搭建环境
查看>>
C#常用代码片段备忘
查看>>
bsdasm
查看>>
我的盖洛普“优势识别器”测试报告
查看>>
在本地安装oracle-maven库
查看>>
HTML连载15-文本属性&颜色控制属性
查看>>
刚入前端整合的一个手机端页面适配+预加载+获取资源加载进度等的一个小模板...
查看>>
js ajax请求流程
查看>>
[教程]Ubuntu下完整配置自动壁纸切换
查看>>
Extjs中获取grid数据
查看>>
01、spring概述
查看>>
怎样才是真正的灰度发布?
查看>>
洛谷 P1531 I Hate It
查看>>
开发环境、测试环境、生产环境 到底是什么?
查看>>
vuejs及相关工具介绍
查看>>
项目中的Libevent(多线程)
查看>>
关闭客户端连接的两种情况
查看>>
bat----服务器重启后爬虫自动运行
查看>>
ThinkPHP 模板的包含、渲染、继承
查看>>
K-Means 聚类
查看>>