zoukankan      html  css  js  c++  java
  • 141. 环形链表

     快慢指针即可

    public class Solution {
        public boolean hasCycle(ListNode head) {
            if(head==null||head.next==null) return false;
            ListNode slow=head;
            ListNode quick=head.next;
    
            while(slow!=quick)//因为循环条件是慢不等于快,所以刚开始把快放在慢的后方一步,(如果有环,即使快慢初始时候在一个格子里也会相遇,但是为了满足循环条件,设置成了两者相邻)
            {   
                if(quick==null||quick.next==null) return false;//这里记住,null的next会报错,只能判断快指针!!!
                slow=slow.next;
                quick=quick.next.next;
    
    
            }
            return true;
        }
    }
    

      

    public class Solution {
        public boolean hasCycle(ListNode head) {
            if(head==null)return false;
            ListNode slow=head;
            ListNode quick=head;
            boolean a=false;//是否有环
            while(quick!=null&&quick.next!=null)//条件记住,因为null的next没有意义,所以只能这样写
            {
                
                quick=quick.next.next;
                slow=slow.next;
                if(slow==quick)//有环
                {
                    a=true;
                    break;
                }
            }
            return a;
        }
    }

      

  • 相关阅读:
    第五次作业
    第四次作业
    第三次作业
    第二次作业
    第5次作业
    4
    第三次
    2
    11
    第五次作业
  • 原文地址:https://www.cnblogs.com/lzh1043060917/p/12843523.html
Copyright © 2011-2022 走看看