public static ListNode findMid(ListNode head){
        if(head == null || head.next == null) return head;
        ListNode first = head;
        ListNode second = head;
        while(second.next != null){
            second = second.next;
            if(second.next != null){
                second = second.next;
                first = first.next;
            }
        }
        return first;
    }