Sword Finger Offer Entrevista Pregunta 22. El penúltimo nodo k-ésimo en la lista vinculada [simple] -doble puntero

Mi solucion:

Usando punteros dobles, primero establezca un nodo principal para apuntar a la cabeza

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* getKthFromEnd(ListNode* head, int k) {
        ListNode* a=new ListNode(-1);
        a->next=head;
        ListNode* i=a;
        ListNode* j=a;
        int count=0;
        while(j){
            if(count<k){
                j=j->next;
                count++;
            }
            else{
                j=j->next;
                i=i->next;
            }
        }
        return i;
    }
};

 

Publicado 65 artículos originales · Me gusta1 · Visitas 488

Supongo que te gusta

Origin blog.csdn.net/qq_41041762/article/details/105462985
Recomendado
Clasificación