题解 | #删除链表的倒数第n个节点#

删除链表的倒数第n个节点

https://www.nowcoder.com/practice/f95dcdafbde44b22a6d741baf71653f6

class Solution {
    // 翻转再删除再翻转
  public:
    ListNode* reverseList(ListNode* head) {
        if (head == nullptr)return head;
        ListNode* front = nullptr, *cur = head;
        while (cur) {
            ListNode* nxt = cur->next;
            cur->next = front;
            front = cur;
            cur = nxt;
        }
        return front;
    }
    ListNode* removeNthFromEnd(ListNode* head, int n) {
        head = reverseList(head);
        ListNode* cur = head->next, *front = head;
        n--;
        if (!n) {
            head = cur;
        } else {
            while (--n) {
                front = cur;
                cur = cur->next;
            }
            front->next = cur->next;
        }
        head = reverseList(head);
        return head;
    }
};

全部评论

相关推荐

05-25 10:45
门头沟学院 Java
Frank_zhan...:没实习一个项目肯定不够,可以再做一个轮子,技术栈再补一个mq,微服务,整体再换个简历模板,暑期尽量再找一个日常实习
无实习如何秋招上岸
点赞 评论 收藏
分享
真烦好烦真烦:豆包润色了自己没看看吗,再说了,都说豆包是愚蠢且勤快的大学生,ds才是聪明的研究生,怎么敢让豆包写论文的
你们的毕业论文什么进度了
点赞 评论 收藏
分享
07-07 14:30
复旦大学 Java
遇到这种人我也不知道说啥了
无能的丈夫:但我觉得这个hr语气没什么问题啊(没有恶意
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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