[LeetCode] 141. Linked List Cycle
Posted aaronliu1991
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode] 141. Linked List Cycle相关的知识,希望对你有一定的参考价值。
单链表中的环。题意很简单,找出链表中是否有环。例子,这样就是有环的。
思路是用快慢指针,慢指针每走一步,快指针走两步。如果快慢指针在某个地方相遇了,说明有环;否则快指针就会遍历到链表尾部从而会退出循环。
时间O(n)
空间O(1)
1 /** 2 * @param {ListNode} head 3 * @return {boolean} 4 */ 5 var hasCycle = function(head) { 6 // corner case 7 if (head === null || head.next === null) { 8 return false; 9 } 10 11 // normal case 12 let slow = head; 13 let fast = head; 14 while (fast !== null && fast.next !== null) { 15 slow = slow.next; 16 fast = fast.next.next; 17 if (slow === fast) { 18 return true; 19 } 20 } 21 return false; 22 };
以上是关于[LeetCode] 141. Linked List Cycle的主要内容,如果未能解决你的问题,请参考以下文章
leetcode 141. Linked List Cycle
LeetCode 141. Linked List Cycle
LeetCode 141 Linked List Cycle
[Leetcode]141. Linked List Cycle