美文网首页
141. Linked List Cycle

141. Linked List Cycle

作者: evil_ice | 来源:发表于2016-12-27 20:32 被阅读14次

    题目141. Linked List Cycle

    Given a linked list, determine if it has a cycle in it.
    Follow up:
    Can you solve it without using extra space?
    
    思路:使用快慢指针, fast每次跳两个节点,low一次跳一个节点,如果fast或者low最后为null,说明
    链表没有节点. 如果fast和low相等,那么说明链表存在环
    
    public class Solution {
        public boolean hasCycle(ListNode head) {
            if(head == null){
                return false;
            }
            
            ListNode lowerNode = head;
            ListNode fastNode = head;
            while(lowerNode != null && fastNode != null){
                if(fastNode.next == null){
                    return false;
                }
                fastNode = fastNode.next.next;
                lowerNode = lowerNode.next;
                if(lowerNode == fastNode){
                    return true;
                }
            }
            return false;
        }
    }
    

    相关文章

      网友评论

          本文标题:141. Linked List Cycle

          本文链接:https://www.haomeiwen.com/subject/vwuevttx.html