题解 | #链表内指定区间反转#
链表内指定区间反转
https://www.nowcoder.com/practice/b58434e200a648c589ca2063f1faf58c
/*class ListNode { * val: number * next: ListNode | null * constructor(val?: number, next?: ListNode | null) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @param m int整型 * @param n int整型 * @return ListNode类 */ export function reverseBetween(head: ListNode, m: number, n: number): ListNode { // write code here let count: number = 0; let temp: ListNode = head; let arr = []; while (temp) { count++; if (count >= m && count <= n) arr.push(temp.val); temp = temp.next; } count = 0; temp = head; while (temp) { count++; if (count >= m && count <= n) temp.val = arr.pop(); temp = temp.next; } return head; }