92.Reverse_Linked_List_II

25 年 6 月 27 日 星期五
159 字
1 分钟

problem

Screenshot 2026-03-02 at 2.33.00 pm
leetcode
Screenshot 2026-03-02 at 2.38.48 pm
Screenshot 2026-03-02 at 2.40.24 pm
js
/**
 * Definition for singly-linked list.
 * function ListNode(val, next) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.next = (next===undefined ? null : next)
 * }
 */
/**
 * @param {ListNode} head
 * @param {number} left
 * @param {number} right
 * @return {ListNode}
 */
var reverseBetween = function (head, left, right) {
  const dummy = new ListNode(null, head)
  // dummy为了表示left = 1的情况
  let p0 = dummy
  // p0 表示反转链表之前的那个node
  for (let i = 0; i < left - 1; i++) {
    p0 = p0.next
  }
  let pre = null
  let cur = p0.next
  for (let i = left - 1; i < right; i++) {
    const tmp = cur.next
    cur.next = pre
    pre = cur
    cur = tmp
  }

  p0.next.next = cur
  p0.next = pre
  return dummy.next
}

文章标题:92.Reverse_Linked_List_II

文章作者:Sirui Chen

文章链接:https://blog.siruichen.me/posts/92reverse_linked_list_ii[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。