翻转链表2
给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。
function reverseBetween(head, left, right) { // 创建一个虚拟头节点,方便处理头节点的情况 const dummy = new ListNode(0); dummy.next = head; let pre = dummy; // 找到翻转区间的前一个节点 for (let i = 0; i < left - 1; i++) { pre = pre.next; } let cur = pre.next; // 翻转区间的第一个节点 let tail = cur; // 翻转区间内的节点 for (let i = left; i <= right; i++) { const next = cur.next; cur.next = pre.next; pre.next = cur; cur = next; } // 将翻转区间内的最后一个节点指向下一个节点 tail.next = cur; return dummy.next; };
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: JWT 简单介绍
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
更多
发布评论