链表算法之-链表找环

思想:快慢指针

public Node getEntryNode(Node root){
    if(root==null || root.next==null) return null;
    if(root=root.next) return root;//自环
    Node fast=root.next.next;
    Node slow=root.next;
    while(fast!=null && fast.next.next!=null){//如果链表无环的话肯定是快指针先到头
        if(fast==slow){
            fast=root;
            while(fast!=slow){
                fast=fast.next;
                slow=slow.next;
            }
            return fast;//相等的时候就是环的入口
        }else{
            fast=fast.next.next;
            slow=slow.next;
        }
     }    
    return null;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一觉睡到下午一两点的真的只有我了。睡神。中途醒了打开手机不是看时间,看着微信图标上有没接收到消息。我说我泛滥和俗气...
    深海垃圾場阅读 143评论 0 0
  • 毛姆说,养成读书习惯,也就是给自己营造一个几乎可以逃避生活中一切愁苦的庇护所。有了庇护所,苦闷受伤时,才有治愈的地...
    箜莳阅读 468评论 0 0
  • 这次修改bug看起来很简单,但是自己一开始的思路不够清晰,对于vue的理解页不够深刻,总共改了三次,需要记录以及反...
    zhishijuncc阅读 1,692评论 2 1
  • 脚踏碎琼瑶,举伞迎媚娇。 北风扑面来,丹巾映雪飘。 折身松柏下,惊扰眠芳草。 忽忆昔夜事,心花开到晓。
    风筝_5c59阅读 403评论 20 20

友情链接更多精彩内容