LeetCode141(判断是否为环形链表)

题目:

  给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从0开始)。如果 pos 是 -1,则在该链表中没有环。

思路:

  典型的双指针问题,同时也可以利用额外空间来解决此问题。

代码:

1.双指针

1
2
3
4
5
6
7
8
9
10
11
12
public boolean hasCycle(ListNode head) {
ListNode fastNode = head;
ListNode slowNode = head;
while(fastNode != null && slowNode != null && fastNode.next != null) {
fastNode = fastNode.next.next;
slowNode = slowNode.next;
if (fastNode == slowNode) {
return true;
}
}
return false;
}

2.利用Set(暂时不给出)