ARTS-6-算法练习-判断链表是否成环

左耳朵耗子专栏《左耳听风》 用户自发每周完成一个ARTS:

1.Algorithm:每周至少做一个 leetcode 的算法题

2.Review:阅读并点评至少一篇英文技术文章

3.Tip:学习至少一个技术技巧

4.Share:分享一篇有观点和思考的技术文章

Algorithm
题目概述:
Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?

代码案例:

public class LinkedListHasCycle {

     class ListNode {
          int val;
          ListNode next;
          ListNode(int x) {
              val = x;
              next = null;
          }
      }

    public boolean hasCycle(ListNode head) {
        ListNode slow=head;
        ListNode fast=head;

        while (fast!=null && fast.next!=null){
            slow=slow.next;
            fast=fast.next.next;
            if(slow==fast){
                return true;
            }
        }
        if(fast==null || fast.next==null){
            return false;
        }
        return false;
    }


}

你可能感兴趣的:(java,算法)