/*
输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。
如果该链表长度小于k,请返回一个长度为 0 的链表。
*/#include<bits/stdc++.h>structListNode{int val;structListNode*next;ListNode(int x):val(x),next(nullptr){}};classSolution{public:/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param pHead ListNode类
* @param k int整型
* @return ListNode类
*/
ListNode*FindKthToTail(ListNode* pHead,int k){if(pHead ==nullptr){returnnullptr;}
ListNode *p = pHead;
ListNode *p1 = pHead;while(k--){
p = p->next;if(!p)returnnullptr;}while(p){
p = p->next;
p1 = p1->next;}return p1;}};
/*
输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。
如果该链表长度小于k,请返回一个长度为 0 的链表。
*/funcFindKthToTail( pHead *ListNode , k int)*ListNode {// write code here
fast, slow := pHead, pHead
for fast !=nil&& k >0{
k--
fast = fast.Next
}if k >0{returnnil}for fast !=nil{
fast = fast.Next
slow = slow.Next
}return slow
}