N Penultimate noeuds supprimer la liste des Leetcod

Titre description

Compte tenu de la liste, la liste de suppression réciproque des nœuds n, et retourne à la liste des nœuds de tête.

pensée

  1. Tout d'abord parcourir la liste longueur d'enregistrement, avant Réitérons pour supprimer une position, peu de suppression de saut. Cette méthode nécessite de traverser deux fois
  2. Traversant à double aiguille, un pointeur vers le point de départ A, lorsque le pointeur de n + 1 étape A produit, point de pointeur de B au point de départ du début, lorsqu'elle atteint l'extrémité A, B se trouve être un point avant le noeud de suppression

code

Première méthode:

class Solution {
public:
    ListNode* removeNthFromEnd(ListNode* head, int n) {
        if(head == NULL)
            return NULL;
        ListNode* cur = head;
        int count = 0;
        while(cur!= NULL)
        {
            count++;
            cur = cur->next;
        }
        if(n == count)
            return head->next;
        if(n == 0)
            return head;
        cur = head;
        int i = 0;
        while(i < count-n-1)
        {
            cur = cur->next;
            i++;
        }
        if(cur->next->next)
        {
            cur->next = cur->next->next;
        }
        else
        {
            cur ->next = NULL;
        }
        return head;
    }
};

Méthode Deux:

class Solution {
public:
    ListNode* removeNthFromEnd(ListNode* head, int n) {   
        ListNode* dummy = new ListNode(NULL);
        dummy->next = head;  //添加头节点,便于操作
        ListNode* slow=dummy,* fast=dummy;
        int distance=0;
        while(fast->next){
            if(distance<n){
                fast=fast->next;
                distance++;
            }else{
                fast=fast->next;
                slow=slow->next;
            }
        }
        slow->next=slow->next->next;
        return dummy->next;
    }
};
Publié 85 articles originaux · louanges gagnées 0 · Vues 368

Je suppose que tu aimes

Origine blog.csdn.net/weixin_38312163/article/details/105079483
conseillé
Classement