题目描述
输入一个链表,输出该链表中倒数第k个结点。
分析:先遍历链表,算出链表长度length,第二次直接遍历到第length-k个节点。其中,若length
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
int length=0;
ListNode* p = pListHead;
while(p!=NULL){
length++;
p=p->next;
}
p = pListHead;
if(k<=length){
for(int i=0;i<length-k;i++){
p=p->next;
}
return p;
}
else{
return NULL;
}
}
};