题目描述
输入一个链表,输出该链表中倒数第k个结点。
方法1:两次遍历链表
首先把头结点赋值给P,如果头结点不为零,则从0开始计算链表的长度,不断让其指向下一个结点。进而得到链表的表长。
可能链表长度会小于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) {
ListNode* p = pListHead;
int cnt = 0;