java表述环形链表_数据结构环形链表(java实现)
解法1:快慢指针
/**
* 思路:
* 快慢指针
* 只要慢指针被追上就说明有循环
*/
public static boolean hasCycle(ListNode head) {
if (head==null)return false;
ListNode fast=head;
ListNode slow=head;
while (fast.next!=null&&fast.next.next!=null) {
fast = fast.next.next;
slow = slow.next;
if (slow==fast)return true;
}
return false;
}
时间复杂度:On
空间复杂度:O1
解法2:hashSet
/**
* 思路:
* 暴力法,遍历链表
* 把链表放入set集合中,一旦有重复就能用方法判断出来
*/
public static boolean hasCycle(ListNode head) {
HashSet set = new HashSet<>();
while (head!=null){
if (set.contains(head))return true;
set.add(head);
head=head.next;
}
return false;
}
时间复杂度:On
空间复杂度:On
本文地址:https://blog.csdn.net/qq_38783664/article/details/110240219
希望与广大网友互动??
点此进行留言吧!
java表述环形链表_数据结构环形链表(java实现)相关推荐
- java城市链表_数据结构城市链表 1. 城市链表
[问题描述]将若干城市的信息 联合开发网 - pudn.com...
数据结构城市链表 所属分类:文章/文档 开发工具:Java 文件大小:174KB 下载次数:7 上传日期:2017-12-18 18:37:53 上 传 者:叁佰 说明: 1. 城市链表 [问题描述 ...
- 6-4 链表拼接 (20分)_数据结构之链表
在面试过程中,数据结构和算法基本上算是研发类岗位必考的部分,而链表基本上又是数据结构中相对容易掌握.而且容易出题的部分,因此我们先整理一下链表部分的经典题目. (声明:以下所有程序都是用java编写) ...
- 数据结构之链表及其Java实现_数据结构之链表及其Java实现
数据的存储一般分线性存储结构和链式存储结构两种.前者是一种顺序的存储方式,在内存中用一块连续的内存空间存储数据,即逻辑上相连的物理位置相邻,比较常见的就是数组:后者是一种链式存储方式,不保证顺序性,逻 ...
- java静态链表_数据结构笔记:静态链表(C语言)
void CreateList(StaticLinkList *P)//创建一个静态链表 { int i; for(i=0;i此时并没有已占用空间,所以第一个节点中的指针(cur)的值为1,也就是说空 ...
- noj数据结构稀疏矩阵的加法十字链表_数据结构学习(C )稀疏矩阵(十字链表1)
CSDN 先说说什么叫稀疏矩阵. 你说, 这个问题很简单吗, 那你一定不知道中国学术界的嘴皮子仗, 对一个字眼的"抠"将会导致两种相反的结论.这是清华 2000 年的一道考研题:& ...
- access表怎么生成表结构_数据结构——单链表讲解
单链表 单链表的创建分为头插入法和尾插入法两种,两者并无本质上的不同,都是利用指针指向下一个结点元素的方式进行逐个创建,只不过使用头插入法最终得到的结果是逆序的. 1.单链表概念&设计 单链表 ...
- java stack (null -1)_关于单链表实现的一个stack的问题
背景:菜鸟一枚,想补补基础.最近在看算法 ,1.3.26有一道题是:编写一个方法remove()接受一条链表和一个字符串key作为参数,删除链表中所有的item域为key的节点. 上代码: publi ...
- java环形队列_使用环形队列触发延时任务
类似需求:"如果连续30s没有请求包(例如登录,消息,keepalive包),服务端就要将这个用户的状态置为离线". 轮询处理 将所有任务都添加到某集合中,定时轮询扫描,如果达到条 ...
- s数据结构替换子表java版_数据结构与算法分析Java语言描述(第3版) PDF和源码免费 下载...
<数据结构与算法分析Java语言描述(第3版)>PDF和源码免费 下载 免积分下载 用户下载说明: 图书简介: 数据结构:Java语言描述(原书第3版)是国外数据结构与算法分析方面的经典教 ...
- c语言单链表功能,[数据结构]单链表(C语言)的各种功能
06-03阅读200,000 + 链表是一种常见的基本数据结构,在此充分利用了结构指针. 链表可以动态存储和分配,即链表是一个功能非常强大的数组. 他可以在节点中定义多种数据类型,并可以根据需要随意添 ...
最新文章
- OVS datapath简介(十八)
- ORACLE导入导出后发生中文乱码的原因及解决办法
- bufferedreader接收不到数据_FreeRTOS例程3-串口中断接收不定长的数据与二值信号量的使用
- OpenCV-图像的基本操作-01
- 从有界到无界,腾讯新一代企业网引领安全创新
- jQuery 学习笔记(jQuery: The Return Flight)
- 6-5-2:STL之stack和queue——双端队列deque
- DZY Loves Graph
- Linux 驱动层实现阻塞和非阻塞
- jQuery选择器--总结
- 简易电影售票系统(附部分总结)
- ESC/POS协议打印机工具类(java)
- Google 翻译插件不能用了怎么办
- linux程序释放内存,Linux释放内存方法
- CTF题库NSCTF crypto50
- 移动互联网时代必读十大图书
- Ubuntu20中使用AirSim--亲测可用
- 网络技术(十一)交换机三种工作模式 hybrid 、trunk、access的深入研究
- netflix网络错误_netflix正在改变我们对网络安全的看法
- 扫盲:mmdetection安装以及训练自己的数据集
热门文章
- C#获取 Flv视频文件播放时间长度等信息
- 世界之窗浏览器 v 3.6.1.0 [官方最新版]
- bgp属性分析--ORIGIN
- 博客堂服务器转移成功!
- DialogFragment初探路
- java get提交中文乱码_java中form以post、get方式提交数据中文乱码问题总结
- SQL server无法打开项 UNKNOWN\Components\929B2416EC4102B48A989956983ACF45\1F7B2B09C788E7644A0F08CA9C1D解决办法
- WINDOWS对文件签名,算法如何由sha1改为sha256/sha512
- 暴露了自己的无知不是问题,问题是还坚决不改
- 运行JProfiler:ERROR: Invalid license key. Aborting