14、剑指offer - 链表中倒数第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;//倒数第k个结点
        int length = 0;
        while(pListHead){
            length++;
            if(length >= k + 1){
                p = p->next;
            }
            pListHead = pListHead->next;
        }
        if(length < k){
            return nullptr;
        }
        return p;
    }
};
发布了63 篇原创文章 · 获赞 72 · 访问量 32万+

猜你喜欢

转载自blog.csdn.net/qq_42250189/article/details/105602927
今日推荐