Mantenga dos punteros, uno es un puntero rápido y el otro es un puntero lento. Se recorre la lista vinculada. El puntero rápido se mueve dos unidades a la vez y el puntero lento se mueve una unidad a la vez. Cuando el puntero rápido alcanza el punto final, si el número de nodos es Número impar, el puntero lento apunta al medio, si el número de nodos es par, el puntero lento apunta a la derecha del medio
class Solution {
public ListNode findMid(ListNode start){
ListNode left=start,right=start;
while(right!=null&&right.next!=null){
right=right.next;
right=right.next;
left=left.next;
}
return left;
}
}