LeetCode 环形链表
作者:互联网
https://leetcode-cn.com/problems/linked-list-cycle/description/
我的解决方案:
class Solution {
//这是剑指offer上的一道题目,最经典的判断链表是否为环状的方法就是设置两个指针,一个指针每次走一步,另一个指针每次走两步,
//如果走的快的指针和走的慢的指针相等了,则说明链表中存在环,否则没有环
public boolean hasCycle(ListNode head) {
if(head==null) return false;
ListNode head1 = head;
ListNode head2 = head;
if(head.next==null)
return false;
else if(head.next==head)
return true;
while(head1!=null&&head2!=null) {
head1=head1.next;
if(head2.next!=null)
head2=head2.next.next;
else
return false;
if(head1==head2)
return true;
}
return false;
}
}
标签:head,return,head2,head1,环形,next,链表,null,LeetCode 来源: https://blog.51cto.com/u_12534050/2953435