您的位置:首页 > Web前端

剑指offer——链表中倒数第k个节点

2018-01-12 23:26 351 查看

题目

输入一个链表,输出该链表中倒数第k个结点。

思路

先用一个指针指到k-1,再让另一个指针从头开始和第一个指针一起跑。当第一个知道末尾,第二个刚好指到第k个

c++实现

/*
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 i = 0;
ListNode* p = pListHead;
ListNode* q = pListHead;
for(; p != NULL; i++){
if(i >= k)
q = q->next;
p = p->next;
}
return i < k ? NULL : q;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  剑指offer c++