链表倒数第k个结点

链表中倒数第k个结点

http://www.nowcoder.com/questionTerminal/529d3ae5a407492994ad2a246518148a

题目描述
输入一个链表,输出该链表中倒数第k个结点。
【递归!!】类似于二叉树遍历,从后面往前找,直到找到第k个结点(也就是倒数第k个结点)
AC代码:

class Solution {
public:
    int count=0;
    ListNode* p=NULL;
    void Find(ListNode* pListHead, unsigned int k)
    {
        if(pListHead==NULL) return;
        FindKthToTail(pListHead->next,k);
        count++;
        if(count==k) 
        {
            p=pListHead;
        }
    }
    ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
        Find(pListHead,k);
        return p;
    }
};
全部评论

相关推荐

10-30 10:16
南京大学 Java
龚至诚:给南大✌️跪了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务