zoukankan      html  css  js  c++  java
  • 判断单链表是否有环

    判断单链表是否有环

    单链表有环指的是单链表中某个节点的next域指向链表中在它之前的某一个节点,这样在链表的尾部形成一个环形结构。

    代码实现

    package 剑指offer;

    import java.util.HashSet;
    import java.util.List;

    /**
     * @author WangXiaoeZhe
     * @Date: Created in 2019/11/22 16:55
     * @description:
     */

    public class Main13 {
        public static void main(String[] args) {

        }


        class ListNode {
            int val;
            ListNode next;

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

        /**
         * 利用set的性质
         * @param head
         * @return
         */

        public boolean hasCycle(ListNode head){
            /**
             * 创建集合对象
             */

            HashSet<ListNode> set = new HashSet<>();
            /**
             * 遍历链表
             */

            ListNode p=head;
            while(p!=null){
                if (set.contains(p)) {
                    return true;
                } else {
                    set.add(p);
                }
                p=p.next;
            }
            return false;
        }

        /**
         * 快慢指针遍历法
         */

        public boolean hasCycle2(ListNode head) {
            if (head == null || head.next == null) {
                return false;
            }
            ListNode fast=head;
            ListNode slow=head;
            while (fast != null && fast.next != null) {
                slow=slow.next;
                fast=fast.next.next;
                if (slow == fast) {
                    return true;
                }
            }
            return false;
        }

    }
  • 相关阅读:
    Android Design Support Library(三)用CoordinatorLayout实现Toolbar隐藏和折叠
    Android Design Support Library(二)用NavigationView实现抽屉菜单界面
    Android Design Support Library(一)用TabLayout实现类似网易选项卡动态滑动效果
    Android5.x Notification应用解析
    了解ViewFlipper工作机制
    OkHttp自定义重试次数
    OkHttp实现全局过期token自动刷新
    Android5.0新控件
    Android4.0新控件
    用typedef给结构体一个别名
  • 原文地址:https://www.cnblogs.com/wuhen8866/p/11912671.html
Copyright © 2011-2022 走看看