[E链表] lc141. 环形链表(快慢指针+基础题)

ops/2024/9/25 3:30:22/

文章目录

    • 1. 题目来源
    • 2. 题目解析

1. 题目来源

链接:141. 环形链表

题单:

    1. 链表、二叉树与一般树(前后指针/快慢指针/DFS/BFS/直径/LCA)
    • §1.6 快慢指针

2. 题目解析

思路:

  • 用相对速度思考快慢指针的问题会简化很多思维工作量。
  • 快指针于慢指针的相对速度是 1,那么追赶的话最终肯定是能追上慢指针并相遇的。
  • 所以,终究还是一个快慢指针问题。

  • 时间复杂度 O ( n ) O(n) O(n)
  • 空间复杂度 O ( 1 ) O(1) O(1)

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:bool hasCycle(ListNode *head) {auto a = head, b = head;while (b && b->next) {a = a->next;b = b->next->next;if (a == b) return true;}return false;}
};

http://www.ppmy.cn/ops/102364.html

相关文章

Linux工具使用

Linux编辑器-vim使用 1.vim的基本概念 在vim中,主要的三种模式分别是命令模式,插入模式和底行模式。 正常/普通/命令模式(Normal mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,…

CentOS 安装 NVIDIA 相关软件包时出现依赖问题

CentOS 安装 NVIDIA 相关软件包时出现依赖问题 1 CentOS 安装 NVIDIA 相关软件包时报错如下2 解决方法 1 CentOS 安装 NVIDIA 相关软件包时报错如下 Error: Package: 3:kmod-nvidia-latest-dkms-550.90.07-1.el7.x86_64 (cuda-rhel7-x86_64)Requires: dkms Error: Package: 3:…

利用移动语义优化 C++ 程序性能的实用指南

利用移动语义优化 C 程序性能的实用指南 在现代 C 编程中,性能优化是一个重要的主题。随着 C11 引入了移动语义(Move Semantics),程序员可以更高效地管理资源,减少不必要的拷贝,从而显著提升程序性能。本文…

Linux下快速搭建七日杀官方私人服务器教程

今天给大家分享一下七日杀的个人开服教程,本教程基于Linux系统开发,推荐有一定基础的小伙伴尝试!如果你没有Linux的基础但实在想开的小伙伴可以根据以下教程一步步进行操作,后续这边也会上架对应视频操作 架设前准备: …

使用 Puppeteer 在 PHP 中解决 reCAPTCHA 以进行网页抓取

您是否在抓取数据时遇到 reCAPTCHA 障碍?我也遇到过。这些 CAPTCHA 挑战会将简单的抓取任务变成一大障碍。但别担心,我有一个解决方案可以帮助您轻松绕过这些障碍。 在本博文中,我将引导您使用 Puppeteer(一个功能强大的 Node.js…

zookeeper客户端命令行操作、节点类型及监听器

zookeeper客户端命令行操作、节点类型及监听器 文档 linux安装java -centos安装java -linux配置java环境变量zookeeper单机安装zookeeper集群安装zookeeper客户端命令行操作、节点类型及监听器zookeeper集群写数据原理java操作zookeeper 启动zookeeper客户端 启动客户端&…

无线通信频率分配

首先看看无线电信号的频谱如何划分: 一、5G NR 3GPP已指定5G NR 支持的频段列表,5G NR频谱范围可达100GHz,指定了两大频率范围: ① Frequency range 1 (FR1):就是我们通常讲的6GHz以下频段 频率…

【neo4j】neo4j-Desktop安装

Neo4j是一个高性能的图数据库,它使用图形结构来存储和处理数据。它是一个开源的、完全事务的数据库,专门设计用于大规模的图形数据。Neo4j使用一种名为Cypher的查询语言来处理图形数据,使用户能够方便地进行复杂的图形查询和分析。 Neo4j的主…