Leetcode : L'épée fait référence à l'offre 22. Le kième nœud à partir du bas dans la liste liée

L'idée de l'implémentation du code :
définir deux pointeurs (nœud1, nœud2) pour pointer vers le nœud principal
Le premier pointeur prend k-1 étapes (car la distance entre le dernier kième et le dernier nœud est de k-1)
et puis laissez node1, node2 avancer en même temps Go jusqu'à ce que node1 aille au dernier node
A ce point, node2 est exactement sur le ke node à partir du bas

/**
 * 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 * node1 = head;
        ListNode * node2 = head;
        int flag = k;
        for(;flag>1 ; flag-- ){
    
    
            node1 = node1->next;
        }
        for(;node1->next!=nullptr; node1=node1->next){
    
    
            node2 = node2->next;
        }
        
        return node2;

    }
};

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43579015/article/details/123271504
conseillé
Classement