1 Star 0 Fork 0

moewang/LeetCode_EveryDay

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
92.反转链表-ii.js 1.04 KB
一键复制 编辑 原始数据 按行查看 历史
moewang 提交于 2020-03-12 11:09 . 反转链表2020-03-12
/*
* @lc app=leetcode.cn id=92 lang=javascript
*
* [92] 反转链表 II
*/
// @lc code=start
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} head
* @param {number} m
* @param {number} n
* @return {ListNode}
*/
var reverseBetween = function (head, m, n) {
// 递归反转函数
let reverse = function (pre, current) {
if (!current) {
return pre
}
let next = current.next;
current.next = pre
return reverse(current, next)
}
let p = newNode = new ListNode()
newNode.next = head
let start, end //区间首尾节点
let front, tail //前节点 后节点
for (let i = 0; i < m - 1; i++) {
p = p.next
}
front = p;
start = front.next
for (let i = m - 1; i < n; i++) {
p = p.next
}
end = p
tail = end.next
end.next = null
front.next = reverse(null, start)
start.next = tail
return newNode.next
};
// @lc code=end
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/moewang0321/LeetCode_EveryDay.git
git@gitee.com:moewang0321/LeetCode_EveryDay.git
moewang0321
LeetCode_EveryDay
LeetCode_EveryDay
master

搜索帮助