Skip to content

Commit 660e9e1

Browse files
authored
Update 92-reverse-linked-list-ii.js
1 parent e4edc5c commit 660e9e1

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

92-reverse-linked-list-ii.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,3 +159,38 @@ const reverseBetween = function(head, left, right) {
159159

160160
return prev ? head : r
161161
};
162+
163+
// another
164+
165+
/**
166+
* Definition for singly-linked list.
167+
* function ListNode(val, next) {
168+
* this.val = (val===undefined ? 0 : val)
169+
* this.next = (next===undefined ? null : next)
170+
* }
171+
*/
172+
/**
173+
* @param {ListNode} head
174+
* @param {number} left
175+
* @param {number} right
176+
* @return {ListNode}
177+
*/
178+
const reverseBetween = function(head, left, right) {
179+
if(head == null) return head
180+
const dummy = new ListNode()
181+
dummy.next = head
182+
183+
let p = dummy
184+
for(let i = 0; i < left - 1; i++) {
185+
p = p.next
186+
}
187+
let tail = p.next, tmp = null
188+
for(let i = 0; i < right - left; i++) {
189+
tmp = p.next
190+
p.next = tail.next
191+
tail.next = tail.next.next
192+
p.next.next = tmp
193+
}
194+
195+
return dummy.next
196+
};

0 commit comments

Comments
 (0)