剑指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) {
        if(pListHead == NULL || k <= 0) return NULL;
        ListNode *p = pListHead;
        while(k-- >1)
        {
            p = p->next;
            if(p == NULL) return NULL;
        }
        ListNode *q = pListHead;
        while(p->next!= NULL)
        {
            q = q->next;
            p = p->next;
        }
        return q;
    }
};

猜你喜欢

转载自blog.csdn.net/ox0080/article/details/83931730
今日推荐