Leetcode 876. Nodo intermedio de la lista vinculada

Descripción del problema

Dado un nodo con una cabeza h mi un re cabeza La lista enlazada individualmente no vacía de devuelve el nodo intermedio de la lista enlazada.
Si hay dos nodos intermedios, se devuelve el segundo nodo intermedio.

Informe de resolución de problemas.

  • Método de puntero
    rápido y lento Establezca los punteros rápido y lento, el puntero rápido es el doble de la velocidad del puntero lento, cuando el puntero rápido llega al final, el puntero lento va al centro

Código de implementación

class Solution {
public:
    ListNode* middleNode(ListNode* head) {
        ListNode* slow = head;
        ListNode* fast = head;
        while (fast != NULL && fast->next != NULL) {
            slow = slow->next;
            fast = fast->next->next;
        }
        return slow;
    }
};
Publicado 139 artículos originales · elogiado 8 · 10,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/qq_27690765/article/details/105040711
Recomendado
Clasificación