练习:输入一个链表,输出该链表中倒数第k个结点。
一、题目要求
输入一个链表,输出该链表中倒数第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* p1 = pListHead, *p2 = pListHead;
for(int i = 0;i < k;i++) {
if(p2 != NULL)
p2 = p2->next;
else
return NULL;
}
while(p2 != NULL) {
p1 = p1->next;
p2 = p2->next;
}
return p1;
}
};