博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 142. Linked List Cycle II
阅读量:5364 次
发布时间:2019-06-15

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

分析

难度 中

来源

环之前节点数 a;从环起始节点到快慢指针相遇位置,节点数 b

快慢指针fast slow相遇,慢指针走过 a+b,快指针走过2*(a+b)

快慢指针相遇时,创建第二个慢指针 slow2

同上,slow再走过a+b时,slow走过2(a+b),slow2走过a+b,

二者在快慢指针相遇处相遇。slow slow2速度相同,

往前回推,二者从环开始处即相遇然后并行                       

题目

Given a linked list, return the node where the cycle begins. If there is no cycle, return null.

Note: Do not modify the linked list.

Follow up:

Can you solve it without using extra space?

解答

1 package LeetCode; 2  3 public class L142_LinkedListCycleII { 4     public ListNode buildList(int[] nums,boolean withCircle){ 5         int len=nums.length; 6         ListNode head; 7         ListNode pointer; 8         pointer=head=new ListNode(nums[0]); 9         for(int i=1;i
0.5)46 ln=l142.buildList(nums,true);47 else48 ln=l142.buildList(nums,false);49 ListNode result=l142.detectCycle(ln);50 if(result!=null)51 System.out.println(result.val);52 else53 System.out.println("没有环");54 }55 }

 

 

posted on
2018-11-07 22:45 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/flowingfog/p/9926318.html

你可能感兴趣的文章
使用shell脚本完成自动化部署及秒级回滚
查看>>
致移动应用开发人员的7条建议
查看>>
web前端基础知识-(四)DOM
查看>>
关闭IE 对剪切板访问的提示
查看>>
从零开始学习html(三) 认识标签(第二部分)
查看>>
获取HTML元素位置--js学习笔记
查看>>
vue禁用与启用以及点击弹出提示框
查看>>
20155317 十六周second 取值
查看>>
PetaPoco源代码学习--1.使用的Attribute介绍
查看>>
idea快捷键
查看>>
《人月神话》读书笔记 第2篇
查看>>
8-linux 安装 requests 时 pip install 安装不了
查看>>
天天设计模式一:设计模式概述
查看>>
windows server 2008 64位MySQL5.6免安装版本配置说明
查看>>
Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析
查看>>
dedecms调用指定栏目名称,链接
查看>>
Redis的简介
查看>>
hdu 1012 u Calculate e
查看>>
hdu 1686 Oulipo
查看>>
bzoj 2423 最长公共子序列
查看>>