标签:链表存在环
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语言
标签:链表存在环
原文地址:http://fulin0532.blog.51cto.com/6233825/1905474