public Node findMiddle(final Node head) {
        Node cur = head;
        Node middle = head;
        int k = 0;
        while (cur != null) {
            cur = cur.next;
            k++;
            if (k % 2 == 0) {
                middle = middle.next;
            }
        }
        return middle;
    }