private ListNode midNode (ListNode head) {
        ListNode    n1  =  head;
        ListNode    n2  =  head;
        while ( n2.next != null &&n2.next.next != null ) {
            n1  =  n1.next;
            n2  =  n2.next.next;
        }
        return n1;
    }