//单链表的使用:快慢指针,如何找中间值
    public static void main(String[] args) {
        Node<Integer> node1 = new Node(1,null);
        Node<Integer> node2 = new Node(2,null);
        Node<Integer> node3 = new Node(3,null);
        Node<Integer> node4 = new Node(4,null);
        Node<Integer> node5 = new Node(5,null);
        Node<Integer> node6 = new Node(5,null);
        node1.next = node2;
        node2.next = node3;
        node3.next = node4;
        node4.next = node5;
        node5.next = node6;

        Node quick = node1;
        Node low = node1;
        while (quick != null && quick.next != null){
            quick = quick.next.next;
            low = low.next;
        }
        System.out.println("中间值:" + low.t);
    }

    private static class Node<T>{
        private T t;
        private Node next;

        public Node(T t, Node next) {
            this.t = t;
            this.next = next;
        }
    }

 

posted on 2020-12-31 14:03  毛会懂  阅读(167)  评论(0编辑  收藏  举报