牛客热题:判断链表是否有环

📟作者主页:慢热的陕西人

🌴专栏链接:力扣刷题日记

📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言

在这里插入图片描述

文章目录

  • 牛客热题:判断链表是否有环
    • 题目链接
    • 方法一:快慢指针
      • 思路
      • 代码
      • 复杂度
    • 方法二:哈希表
      • 思路
      • 代码
      • 复杂度

牛客热题:判断链表是否有环

题目链接

判断链表中是否有环_牛客题霸_牛客网 (nowcoder.com)

方法一:快慢指针

思路

  • 设两个指针一个快指针,一个慢指针。
  • 当快指针和慢指针相遇的时候(也就是说快指针从后面又重新超越了慢指针),那么我们则认为链表内部是有环的

代码

    bool hasCycle(ListNode *head) {ListNode* l = head;ListNode* r = head;while(r && r->next){l = l->next;r = r->next->next;if(l == r) return true;}return false;}

复杂度

时间复杂度:O(N),其中N为链表的长度,原因是当第一次相遇的时候慢指针的移动距离不会超过链表的长度

空间复杂度:O(1),只建立了两个指针。

方法二:哈希表

思路

  • 将我们遍历过的节点的指针插入到哈希表

代码

    bool hasCycle(ListNode *head) {unordered_set<ListNode*> hash;while(head != nullptr){if(hash.count(head)) return true;else hash.insert(head);head = head->next;}return false;}

复杂度

时间复杂度:O(N),其中N为链表的长度,遍历最多为链表的长度就可以判定是否有环。

空间复杂度:O(N),最多使用链表长度的空间。

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

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

相关文章

ansible-playbook离线升级centos内核

目录 概述实践ansible目录结构关键代码执行效果 结束 概述 内核离线包官网下载地址如下&#xff1a; 地址 实践 ansible目录结构 如对 ansible 不熟悉&#xff0c;离线包下载有问题&#xff0c;请至此地址下载&#xff0c;按本文操作可直接使用。 相关文章链接如下 文章地…

普乐蛙元宇宙VR体验馆设备集体亮相VR文旅景区展

普乐蛙全国巡展又双叒叕开始了! 这次来到的是“好客山东”↓↓ 山东2024休闲旅游产业展 4月25日至27日&#xff0c;2024休闲旅游产业展在临沂国际博览中心举办。本次展会以“潮购文旅好品&#xff0c;乐享时尚生活”为主题&#xff0c;汇聚全国文旅产业上下游500多家企业、上万…

深度学习系列66:试穿模型IDM-VTON上手

1. 模型概述 如图&#xff0c;总体流程为&#xff1a; 输入为&#xff1a;衣服的编码xg&#xff1b;人物noise的编码xt&#xff1b;人物身上衣物的mask和人体pose分割(densepose)&#xff1b;衣服部分经过两部分网络&#xff1a;1&#xff09;高级语义网络IP-Adapter&#xff…

anything-llm的嵌入式聊天小部件

anything-llm 详情移步到官方: https://github.com/Mintplex-Labs/anything-llm anything-llm可以docker启动和本地启动 例如&#xff1a;docker 启动&#xff0c; 自行去安装docker哈 cd 到docker文件夹下&#xff0c; 窗口运行&#xff1a; docker-compose up -d --build运…

简要说说软分叉和硬分叉。

前言 一、软分叉 二、硬分叉 三、用途 总结 前言 软分叉和硬分叉是区块链技术中的两个重要概念&#xff0c;它们通常与加密货币的网络升级有关。下面我将分别解释这两个概念&#xff0c;并提供一些例子来帮助理解。下面是方便理解软分叉和硬分叉的图 一、软分叉 软分叉是一…

有没有永久免费的仓库出入库管理软件

作为相关行业的从业者&#xff0c;很多中小企业希望能节省成本&#xff0c;或者没有付费使用管理系统的习惯&#xff0c;所以想要找到一款永久免费的仓库出入库管理软件。但我还是不大建议大家选择所谓的免费仓库管理软件。为什么呢&#xff1f;请往下看 很多时候免费的才是最…

渗透测试之sql注入绕过技巧

在sql注入中&#xff0c;通常会将某些关键的字符过滤掉&#xff0c;以此来达到预防sql注入的目的。这时我们就可以通过某些技巧来绕过。 绕过技巧1&#xff1a; 这个是在某个比赛中出现的&#xff0c;当时并没有多少人成功绕过。 如下&#xff1a; 如下图&#xff1a;在php中…

无影云电脑如何进行硬盘镜像迁移

问题的由来 看过我的博文的朋友都知道&#xff0c;我从一月来一直在使用阿里的无影云电脑来测试各种开发板。试用的效果一直不错&#xff0c;3个月的试用期到了&#xff0c;就想买一年的服务用用。不过试用的电脑并不能直接购买&#xff0c;必须先购买一台新的云电脑&#xff…

Dockerfile加docker-compose构建编排web应用

Dockerfile加docker-compose构建编排web应用 用flask框架写一个web服务器应用&#xff0c;使用Dockerfile构建镜像&#xff0c;然后用docker-compose编排启动应用。 1. 创建一个简单的flask应用 创建flask-app目录&#xff0c;在目录下创建一个名为 app.py 的文件&#xff0c;并…

23 重构:烟囱式、平台化、中台化的架构

上一讲里&#xff0c;我们介绍了两大类型的系统升级重构方案&#xff0c;还介绍了如何进行重构版本的上线&#xff0c;以及如何平滑地完成新老版本切换的方案。在本讲里&#xff0c;将会具体介绍如何判断系统发展到什么阶段需要重构&#xff0c;以及如何实施重构。 系统稳定性…

C语言实战项目--贪吃蛇

贪吃蛇是久负盛名的游戏之一&#xff0c;它也和俄罗斯⽅块&#xff0c;扫雷等游戏位列经典游戏的⾏列。在编程语⾔的教学中&#xff0c;我们以贪吃蛇为例&#xff0c;从设计到代码实现来提升大家的编程能⼒和逻辑能⼒。 在本篇讲解中&#xff0c;我们会看到很多陌生的知识&…

【Excel】excel计算相关性系数R、纳什效率系数NSE、Kling-Gupta系数KGE

对于采用的数据&#xff1a; B2:B10958是观测值的所在范围 C2:C10958是模型计算值的所在范围 一、相关系数R是用来衡量两个变量之间线性关系强度和方向的统计量。在水文学和气象学中&#xff0c;常用的相关系数是皮尔逊相关系数&#xff08;Pearson correlation coefficient&am…