剑指OFFER 20.链表中倒数第k个节点


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

注意:

k >= 1;
如果 k 大于链表长度,则返回 NULL;
样例
输入:链表:1->2->3->4->5 ,k=2

输出:4


/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
	int n=0;
    ListNode* findKthToTail(ListNode* pListHead, int k) 
    {

        ListNode* h=pListHead;
        while(h)
        {
        	h=h->next;
        	n++;
        }
        if(k>n)
        	return NULL;
        h=pListHead;
        for(int i=0;i<n-k;i++)
        {
        	h=h->next;
        }	
        return h;
    }
};

文章作者: LHL
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LHL !
评论
  目录