关闭

链表中倒数第k个结点

标签: C++
242人阅读 评论(0) 收藏 举报
分类:
题目描述


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


C/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)
    {
        ListNode *p = pListHead;
        int n = 0;
        while(p != NULL)
        {
            n++;
            p = p->next;
        }
        if(n < k) return NULL;
        int i = 0;
        p = pListHead;
        while(p != NULL) {
            if(++i >= (n - k + 1)) {
                 break;
            }
            p = p->next;
        }
        return p;
    }
};


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:104643次
    • 积分:4095
    • 等级:
    • 排名:第8004名
    • 原创:72篇
    • 转载:57篇
    • 译文:0篇
    • 评论:8条
    最新评论