Leetcode 141. Linked List CycleJAVA语言
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 141. Linked List CycleJAVA语言相关的知识,希望对你有一定的参考价值。
Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without using extra space?
题意:判断链表有没有环
/** * 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) { ///定义两个快慢指针。有环的话快指针一定会和慢指针相遇。否则快指针就提前到尾巴了 ////应该是我那会的考研题ca if(head==null || head.next==null || head.next.next==null)return false; ListNode fast=head.next.next; ListNode slow=head.next; while(fast!=slow){ if(fast.next!=null && fast.next.next!=null){ fast=fast.next.next; slow=slow.next; }else{ //fast提前走到了尾 return false; } } return true; } }
PS:快慢指针。注意判断边界条件
以上是关于Leetcode 141. Linked List CycleJAVA语言的主要内容,如果未能解决你的问题,请参考以下文章
leetcode-141. Linked List Cycle
LeetCode 141. Linked List Cycle
[Leetcode]141. Linked List Cycle
LeetCode 141, 142. Linked List Cycle I+II