40.链表中的倒数第k个结点

思路:
链表的题目,要么内存逻辑代替法、要么快慢指针、要么先后指针,要么多指针,本题可以用先后指针(一个先出发,一个后出发)

代码:

/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
            val(x), next(NULL) {
    }
};*/
class Solution {
public:
    ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
        if(pListHead==NULL)
            return NULL;
        ListNode *forward=pListHead;
        ListNode *target=pListHead;
        for(int i=0;inext;
        }
        
         while(forward){
             forward=forward->next;
             target=target->next;
         }
        return target;
    }
};

你可能感兴趣的:(40.链表中的倒数第k个结点)