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;     
    }
} 
上一篇:牛客题霸——两个链表生成相加链表(Javascript)


下一篇:将单向链表按某值划分为左边小、中间相等、右边大的形式