1/**2* Definition for singly-linked list.3* function ListNode(val, next) {4* this.val = (val===undefined ? 0 : val)5* this.next = (next===undefined ? null : next)6* }7*/8/**9* @param {ListNode} head10* @param {number} left11* @param {number} right12* @return {ListNode}13*/14var reverseBetween = function (head, left, right) {15if (!head || left === right) {16return head;17}1819const dummy = new ListNode(0, head);20let prev = dummy;2122for (let i = 0; i < left - 1; i++) {23prev = prev.next;24}2526let cur = prev.next;2728for (let i = 0; i < right - left; i++) {29const temp = cur.next;30cur.next = temp.next;31temp.next = prev.next;32prev.next = temp;33}3435return dummy.next;36};