25 lines
415 B
Go
25 lines
415 B
Go
package q92
|
|
|
|
type ListNode struct {
|
|
Val int
|
|
Next *ListNode
|
|
}
|
|
|
|
func reverseBetween(head *ListNode, left int, right int) *ListNode {
|
|
stub := &ListNode{Next: head}
|
|
before := stub
|
|
for range left - 1 {
|
|
before = before.Next
|
|
}
|
|
|
|
curr := before.Next
|
|
for range right - left {
|
|
move := curr.Next
|
|
curr.Next = move.Next
|
|
move.Next = before.Next
|
|
before.Next = move
|
|
}
|
|
return stub.Next
|
|
}
|
|
|
|
var _ = reverseBetween
|