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

链表中倒数最后k个结点

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

class Solution {
public:
    ListNode* FindKthToTail(ListNode* pHead, int k) {

        ListNode *fast = pHead;
        ListNode *last = pHead;
        int len;
        //先使用快指针 fast 进行一次完整的遍历,统计链表的长度 len
        while (fast!=NULL) {
            fast = fast->next;
            len++;
        }
        //判断链表长度 ? k
        if(len<k)   return {};
        //循环将慢指针 last 遍历到倒数第K个节点,然后返回该节点即可
        for(int i=0;i<len-k;i++){
            last = last->next;
        }
        return last;

    }
};

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-03 14:23
海康威视 嵌入式软件开发 总包29w 其他
点赞 评论 收藏
分享
10-10 00:14
门头沟学院 Java
程序员小白条:20年架构师,无工资
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务