【leetcode热题】环形链表 II

  • 难度: 中等
  • 通过率: 30.1%
  • 题目链接:. - 力扣(LeetCode)

题目描述

给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null

为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。

说明:不允许修改给定的链表。

示例 1:

输入:head = [3,2,0,-4], pos = 1
输出:tail connects to node index 1
解释:链表中有一个环,其尾部连接到第二个节点。

示例 2:

输入:head = [1,2], pos = 0
输出:tail connects to node index 0
解释:链表中有一个环,其尾部连接到第一个节点。

示例 3:

输入:head = [1], pos = -1
输出:no cycle
解释:链表中没有环。

进阶:
你是否可以不用额外空间解决此题?

解法:

思路:

  • 链表是否有环
  • 相交链表的交点
class Solution {
public:ListNode *detectCycle(ListNode *head) {if(!head){return nullptr;}ListNode* fast = head;ListNode* slow = head;ListNode* joined_node = nullptr;while(fast->next && fast->next->next){fast = fast->next->next;slow = slow->next;if(fast == slow){joined_node = fast;break;}}// no circleif(!joined_node){return nullptr;}ListNode* p1 = head;ListNode* p2 = joined_node->next;while(p1 != p2){p1 = p1->next;p2 = (p2 == joined_node) ? head : p2->next;}return p1;}
};

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Uniapp + SpringBoot 开发微信H5项目 微信公众号授权登录 JAVA后台(一、配置使用微信公众平台测试公众号)

申请测试号进行调试开发,测试号拥有大部分服务号有的接口权限。 一、接口配置信息填写校验 这里需要填写一个URL和一个Token验证字符串 我这里是用了natapp内网穿透 将本地的后台8080端口服务映射到了 http://x7zws8.natappfree.cc https://natapp.cn/在natapp官网…

GEE 底图加载——自定义底图样式加载案例分析(含免费引如多款底图)

在本教程中,您将学习如何更改地图对象的选项,以便为底层基础地图定义自己的样式。 地球引擎中的默认地图 地球引擎的基础地图是 Google Map API 中的地图。默认选项包括 roadmap,显示默认的路线图视图、卫星,显示谷歌地球卫星图…

Leetcode : 面试题 10.01. 合并排序的数组

思路&#xff1a;设定两个指针ptrA和ptrB&#xff0c;遍历两个数组比较&#xff0c;对A数组进行修改&#xff1b; A.insert添加&#xff0c;最后进行A.erase删除多余元素&#xff0c;提醒&#xff0c;数组长度提前记录一下&#xff0c;方便后续删除 #include <iostream>…

数据可视化原理-腾讯-分类散点图

在做数据分析类的产品功能设计时&#xff0c;经常用到可视化方式&#xff0c;挖掘数据价值&#xff0c;表达数据的内在规律与特征展示给客户。 可是作为一个产品经理&#xff0c;&#xff08;1&#xff09;如果不能够掌握各类可视化图形的含义&#xff0c;就不知道哪类数据该用…

付强:基于注意力机制的听觉前端处理 | 嘉宾公布

一、智能家居与会议系统专题论坛 智能家居与会议系统专题论坛将于3月28日同期举办&#xff01; 智能会议系统它通过先进的技术手段&#xff0c;提高了会议效率&#xff0c;降低了沟通成本&#xff0c;提升了参会者的会议体验。对于现代企业、政府机构和学术界是不可或缺的。在这…

GitHub登不上:修改hosts文件来解决(GitHub520,window)

参考链接&#xff1a;GitHub520: 本项目无需安装任何程序&#xff0c;通过修改本地 hosts 文件&#xff0c;试图解决&#xff1a; GitHub 访问速度慢的问题 GitHub 项目中的图片显示不出的问题 花 5 分钟时间&#xff0c;让你"爱"上 GitHub。 (gitee.com) GitHub网站…

阿里云服务器怎么使用?3分钟搭建网站教程2024新版

使用阿里云服务器快速搭建网站教程&#xff0c;先为云服务器安装宝塔面板&#xff0c;然后在宝塔面板上新建站点&#xff0c;阿里云服务器网aliyunfuwuqi.com以搭建WordPress网站博客为例&#xff0c;来详细说下从阿里云服务器CPU内存配置选择、Web环境、域名解析到网站上线全流…

Hive案例分析之消费数据

Hive案例分析之消费数据 部分数据展示 1.customer_details customer_id,first_name,last_name,email,gender,address,country,language,job,credit_type,credit_no 1,Spencer,Raffeorty,sraffeorty0dropbox.com,Male,9274 Lyons Court,China,Khmer Safety,Technician III,jc…

二、实战篇 商户查询缓存

源码仓库地址&#xff1a;gitgitee.com:chuangchuang-liu/hm-dingping.git 1、什么是缓存&#xff1f; 缓存(Cache),就是数据交换的缓冲区,俗称的缓存就是缓冲区内的数据,一般从数据库中获取,存储于本地代码 1.1、为什么要使用缓存&#xff1f; 添加缓存后&#xff0c;重复的…

双链表的实现(数据结构)

链表总体可以分为三大类 一、无头和有头 二、单向和双向 三、循环和不循环 从上面分类得知可以组合成8种不同类型链表&#xff0c;其中单链表最为简单&#xff0c;双联表最为复杂&#xff0c;两种链表都实现后其余链表都不成问题。 我们前期博客已将完成了单向无头不循环链表…

如何一键发布离线地图(二次开发)

离线地图发布工具支持 离线浏览 离线地图二次开发 离线工具应用(绘制&#xff1a;点、线、面&#xff0c;导入导出矢量数据)以及轨迹纪录等等应用&#xff0c;具体可参看&#xff1a;演示实例 Bigemap Server离线地图服务器下载地址&#xff1a;http://download.bigemap.com…

图机器学习(3)-面向节点的人工特征工程

0 问题引入 地铁导航图 计算机是看不懂这些图&#xff0c;计算机只能看懂向量、矩阵。 传统图机器学习只讨论连接特征。 构造一个新的特征 x 1 x 2 x_1x_2 x1​x2​&#xff0c;有利于分开这种数据。 人需要去翻译这些计算机不懂的特征&#xff0c;变成计算机可以懂…