题解 | #判断链表中是否有环#

判断链表中是否有环

http://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9

逐个删除法:

思路:
遍历每个节点,将其自成环,并从链表中删除。
在遍历的过程中先判断该节点是否自成环,如已经自成环了,说明之前遍历过这个节点,并将其自成环过。
换句话说就是在遍历的过程中先判断 head==head.next,如果相等,说明说环形链表。

 public boolean hasCycle(ListNode head) {
    while(head != null){
        if(head == head.next){
            return true;
        }
        ListNode next =  head.next;
        head.next =  head;
        head = next;
    }
    return false;
}

图片说明

全部评论

相关推荐

06-04 18:37
门头沟学院 Java
勇敢的ssr求对象:前面看的有点奔溃,看到只有你是真玩啊,忍不住笑出了声😂
点赞 评论 收藏
分享
哥_留个offer先:跟他说,你这个最好用c#,微软就用c#Java不适合这个项目
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务