题解 | #链表中倒数最后k个结点#

链表中倒数最后k个结点

https://www.nowcoder.com/practice/886370fe658f41b498d40fb34ae76ff9

class Solution {
public:
    ListNode* FindKthToTail(ListNode* pHead, int k) {
        // write code here
        ListNode* p = pHead;
        int cnt = 0;
        while(p)#这个while循环就是为了求出链表的长度
        {
            cnt++;
            p = p->next;
        }
        ListNode* q = pHead;
        if(cnt < k)#当链表长度小于k时则返回空
            return nullptr;
        else#当链表长度大于等于k时
        {
            int n = cnt-k;
            for(int i = 0;i < n;i++)#利用for循环先遍历列表
            {
                q = q->next;
            }
            return q;
        }
    }
};

全部评论

相关推荐

ResourceUtilization:算法很难了,现在都需要相关论文还有对应的实习,可以先试试中厂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务