剑指offer刷题

链表中倒数第k个结点

2019-06-01  本文已影响0人  侯俊同学

题目描述

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

思路

题解

class Solution {
public:
    ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
        if(pListHead==NULL || k==0)
            return NULL;
        ListNode * pre = pListHead;
        ListNode * post = pListHead;
        int i = 0;
        while(post!=NULL && i<k-1){
            post = post->next;
            i++;
        } 
        if(post==NULL)
            return NULL;
        while(post->next!=NULL){
            pre = pre->next;
            post = post->next;
        }
        return pre;
    }
};
上一篇下一篇

猜你喜欢

热点阅读