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;

}

相关推荐
q***25211 天前
SpringMVC 请求参数接收
前端·javascript·算法
数模加油站1 天前
25认证杯C题成品论文第一弹【冲奖硬核+无盲点解析】
算法·数学建模·认证杯·25认证杯
MobotStone1 天前
数字沟通之道
人工智能·算法
点云SLAM1 天前
Boost库中Math 模块的插值(interpolation使用和示例
算法·插值·boost库·b-spline·akima 样条·单调三次样条·barycentric 插值
鸭子程序员1 天前
c++ 算法
开发语言·c++·算法
Ghost-Face1 天前
《逆袭导论》————初中生的宝书
算法
不会c嘎嘎1 天前
算法百练,直击OFFER -- day5
c++·算法
Aileen_0v01 天前
【Gemini3.0的国内use教程】
android·人工智能·算法·开源·mariadb
CoderYanger1 天前
C.滑动窗口——1423. 可获得的最大点数
java·开发语言·算法·leetcode·1024程序员节
乌萨奇也要立志学C++1 天前
【洛谷】二分查找专题 告别二分死循环!模板 + 细节 + 实战
c++·算法