public ListNode getPreMid(ListNode head){
        if(head == null || head.next == null) return head;
        ListNode first = head, second = head.next.next;
        while(second != null && second.next != null){
            first = first.next;
            second = second.next.next;
        }
        return first;
    }