day4 移出倒数第n个节点

ListNode* removeNthFromEnd(ListNode* head, int n) {

ListNode* dummyHead = new ListNode(0);

dummyHead->next = head;

ListNode* slow = dummyHead;

ListNode* fast = dummyHead;

while(n-- && fast != NULL) {

fast = fast->next;

}

fast = fast->next; // fast再提前走一步,因为需要让slow指向删除节点的上一个节点

while (fast != NULL) {

fast = fast->next;

slow = slow->next;

}

slow->next = slow->next->next;

// ListNode *tmp = slow->next; C++释放内存的逻辑

// slow->next = tmp->next;

// delete tmp;

return dummyHead->next;

}

相关推荐
Yang_jie_0321 分钟前
笔记:数据结构(栈是否使用底指针以及头指针的初始化值)
数据结构·笔记·算法
2301_8008951034 分钟前
信息安全数学基础复习
算法
爱折腾的小黑牛42 分钟前
简记往来批量录入功能的实现:从文本到结构化数据
前端·算法
Starmoon_dhw1 小时前
题解:P17078 夏日甜点
c++·学习·算法·图论
海石2 小时前
【JS击败90%】前缀和+定长滑动窗口
算法·leetcode
Tisfy2 小时前
LeetCode 2685.统计完全连通分量的数量:DFS求每个连通块的边点数
算法·leetcode·深度优先··题解·连通图·全连通分量
海石2 小时前
1次遍历,空间复杂度击败100%,时间复杂度击败85%
算法·leetcode
L歪歪君3 小时前
Apache Doris全链路性能优化实战指南:从架构设计到生产落地
java·开发语言·算法
m0_466525293 小时前
从“算法内卷”到“可信易用” 东软多模态医学人工智能平台开启无代码科研新时代
人工智能·算法
码少女3 小时前
数据结构——冒泡排序及优化
数据结构·算法·排序算法