题意:
        有一个长度为 n 的链表,输出该链表的后 k 个节点。
          如果该链表长度小于k,请返回一个长度为 0 的链表。


方法:
思维

思路:
        求一个链表的后k个节点。
         可以先求链表的总长度,用总长度减去k,就可以得到从前往后遍历的步长。



class Solution {
public:
    
    ListNode* FindKthToTail(ListNode* pHead, int k) {
        ListNode *p=pHead;//初始化
        int n=0;//链表长度
        while(p){//遍历链表,统计长度
            n++;
            p=p->next;
        }
        //计算从前往后遍历的步长
        int num=n-k;
        if(num<0)
            return nullptr;
        p=pHead;
        while(num--){
            p=p->next;
        }
        return p;
    }
};

时间复杂度:
空间复杂度: