关注
你的代码中存在几个逻辑错误和不必要的复杂性。主要问题是你在处理反转链表部分时创建了新的节点,而实际上你应该直接在原链表上进行操作。此外,你在链表的末尾也错误地添加了一个新节点。以下是一个简化且修复了错误的版本:
cpp
class Solution {
public:
ListNode* reverseBetween(ListNode* head, int m, int n) {
// 添加一个哑节点(dummy node)作为新链表的头部
ListNode* dummy = new ListNode(0);
dummy->next = head;
ListNode* prev = dummy;
// 移动 prev 到第 m-1 个节点
for (int i = 1; i < m; ++i) {
prev = prev->next;
}
ListNode* curr = prev->next;
ListNode* nextTemp = nullptr;
// 反转第 m 到第 n 个节点
for (int i = m; i <= n; ++i) {
nextTemp = curr->next;
curr->next = nextTemp->next;
nextTemp->next = prev->next;
prev->next = nextTemp;
}
return dummy->next;
}
};
解释:
添加哑节点:添加一个哑节点(dummy node)作为新链表的头部,这样可以简化边界条件的处理,特别是当 m = 1 时。
找到第 m-1 个节点:使用 prev 指针遍历链表,直到它指向第 m-1 个节点。
反转第 m 到第 n 个节点:使用三个指针 prev, curr, 和 nextTemp 来反转链表中的指定部分。nextTemp 用来临时存储 curr->next,然后更新 curr->next 和 nextTemp->next 来实现反转。
返回结果:由于我们使用了哑节点,所以最终返回 dummy->next 作为反转后链表的头节点。
这种方法避免了在反转过程中创建新的节点,从而保持了空间复杂度为 O(1)。同时,它也简化了代码,使其更易于理解和维护。
点赞
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享


顺丰集团
| 实习
| 超多精选岗位
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 脱下孔乙己长衫,浅聊一下就业下沉!3.9W
- 2... 美团java后端日常实习一二面1.5W
- 3... 腾讯PCG QQ后台开发一面1.3W
- 4... 腾讯/字节/快手 前端面经汇总1.0W
- 5... 【未来准备7】就业下沉时代,如何摆脱困境9014
- 6... 实习入职第一天,应该做点啥❓7760
- 7... 腾讯2025暑期实习提前批前端开发面经(已OC)5989
- 8... [26届四段大厂]“HR面致命题!腾讯字节亲测”5188
- 9... 字节前端日常实习 oc 总结4876
- 10... 【有奖互动】你问过DeepSeek什么意想不到的问题?4850
正在热议
更多
# 听劝,这个简历怎么改 #
18286次浏览 239人参与
# 你见过最离谱的招聘要求是什么? #
146232次浏览 871人参与
# 水滴春招 #
34056次浏览 570人参与
# 你想留在一线还是回老家? #
16586次浏览 236人参与
# 分享一个让你热爱工作的瞬间 #
16490次浏览 174人参与
# 25届如何提前做秋招准备? #
145526次浏览 2288人参与
# 入职第四天,心情怎么样 #
12699次浏览 88人参与
# 面试被问“你的缺点是什么?”怎么答 #
11028次浏览 218人参与
# 参加完秋招的机械人,还参加春招吗? #
27651次浏览 281人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
20716次浏览 415人参与
# 机械校招之路总结 #
80284次浏览 1759人参与
# 第一份工作应该选高薪还是热爱? #
5188次浏览 83人参与
# 如果重来一次你还会读研吗 #
156916次浏览 1716人参与
# 租房找室友 #
8515次浏览 53人参与
# 职场新人生存指南 #
200991次浏览 5563人参与
# 地方国企笔面经互助 #
18109次浏览 26人参与
# 简历无回复,你会继续海投还是优化再投? #
49008次浏览 564人参与
# 读研or工作,哪个性价比更高? #
26503次浏览 357人参与
# 你们的毕业论文什么进度了 #
905105次浏览 8995人参与
# 文科生还参加今年的春招吗 #
4457次浏览 32人参与
# 百度工作体验 #
178223次浏览 1780人参与