Delete Node in a Linked List - LeetCode
Intenté resolver ese problema usando el siguiente algoritmo erróneo:
void deleteNode(struct ListNode* node) {
    struct ListNode* tmp = node;
    struct ListNode* anteultimo = node;
    struct ListNode* ultimo = node;
    
    // Busco ultimo y antiultimo
    while (ultimo->next != NULL){
        ultimo = ultimo->next;
    }
    
    while (anteultimo->next != ultimo){
        anteultimo = anteultimo->next;
    }
    // Borro el último
    anteultimo->next = NULL;
    
    while(tmp->next != NULL){
        tmp->val = tmp->next->val;
        tmp = tmp->next;
    }
}


0 comentarios:
Publicar un comentario