当前位置: 首页 > news >正文

Leetcode-141 环形链表

在这里插入图片描述
使用HashSet,从头遍历链表并写入哈希表,遍历每个元素找哈希表是否出现过,如果出现过则存在环。

HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。
HashSet 允许有 null 值。
HashSet 是无序的,即不会记录插入的顺序。

添加元素可以使用 add() 方法,add方法的返回值类型是boolean,所以如果返回值是null那么表示添加成功。

/*** Definition for singly-linked list.* class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public boolean hasCycle(ListNode head) {Set<ListNode> storeSet = new HashSet<ListNode>();        while(head!=null){if(!storeSet.add(head)){return true;}head=head.next;}return false;}
}

双指针(快慢指针),如果快慢指针相遇则链表中存在环,慢指针一次只移动一个节点,快指针一次移动两个节点(没想到)

/*** Definition for singly-linked list.* class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public boolean hasCycle(ListNode head) {if(head==null){return false;}ListNode slowPtr=head,fastPtr=head;while(fastPtr.next!=null&&fastPtr.next.next!=null){slowPtr=slowPtr.next;fastPtr=fastPtr.next.next;if(slowPtr==fastPtr){return true;}}return false;}
}
http://www.lryc.cn/news/219828.html

相关文章:

  • 深入了解汽车级功率MOSFET NVMFS2D3P04M8LT1G P沟道数据表
  • C 作用域规则
  • Go中第一类函数
  • Linux内核分析(五)--IO机制原理与系统总线
  • oracle-sql语句执行过程
  • 京东数据分析:2023年9月京东打印机行业品牌销售排行榜
  • Flutter 自签名证书
  • 观察者模式——解决解耦的钥匙
  • MATLAB和西门子SMART PLC UDP通信
  • 打造高效运营底座,极智嘉一体化软件系统彰显科技威能
  • sqlsugar查询数据库下的所有表,批量修改表名字
  • 如何用 GPT-4 全模式(All Tools)帮你高效学习和工作?
  • Cesium 展示——移动拖拽实体
  • javaSE学习笔记-未完
  • 分享一下微信小程序里怎么创建会员卡功能
  • 吴恩达《机器学习》5-6:向量化
  • 《面向对象软件工程》笔记——1-2章
  • 1400台光刻机,ASML突然大举倾销,外媒惊呼中国芯片进展太快了
  • Leetcode—187.重复的DNA序列【中等】
  • inno setup 运行时进行文件复制和替换
  • 睿思BI已支持3D图形
  • ARCGIS---dem生成高程点
  • 2034:D 类音频功率放大器的引脚排列
  • 计算机网络第4章-IPv4
  • Transformer的最简洁pytorch实现
  • 【嵌入式开发学习】__u-boot和bootloader到底有什么区别?
  • 什么是影子IT,涉及哪些风险
  • 数据库脚本执行工具
  • 构建数字孪生的四大挑战
  • 二进制代码反汇编逆向工具:IDA Pro(WinMac)v7.7 汉化版