java刷题--141环形链表
Posted Anrys
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java刷题--141环形链表相关的知识,希望对你有一定的参考价值。
题目
代码
法一:快慢指针
public class Solution {
public boolean hasCycle(ListNode head) {
ListNode fast = head;
ListNode slow = head;
while(fast != null && fast.next != null) {
slow = slow.next;
fast = fast.next.next;
if(slow==fast) return true;
}return false;
}
}
法二:hashset
public class Solution {
public boolean hasCycle(ListNode head) {
HashSet<ListNode> listSet = new HashSet<>();
ListNode p = head;
while(true) {
if(p == null) return false;
if(listSet.contains(p)) return true;
listSet.add(p);
p = p.next;
}
}
}
结果
以上是关于java刷题--141环形链表的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode Java刷题笔记—142. 环形链表 II