2022-03-27 20:56:26 +08:00
< p > Given the < code > head< / code > of a singly linked list and two integers < code > left< / code > and < code > right< / code > where < code > left < = right< / code > , reverse the nodes of the list from position < code > left< / code > to position < code > right< / code > , and return < em > the reversed list< / em > .< / p >
< p > < / p >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 1:< / strong > < / p >
2022-03-27 20:56:26 +08:00
< img alt = "" src = "https://assets.leetcode.com/uploads/2021/02/19/rev2ex2.jpg" style = "width: 542px; height: 222px;" / >
< pre >
< strong > Input:< / strong > head = [1,2,3,4,5], left = 2, right = 4
< strong > Output:< / strong > [1,4,3,2,5]
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 2:< / strong > < / p >
2022-03-27 20:56:26 +08:00
< pre >
< strong > Input:< / strong > head = [5], left = 1, right = 1
< strong > Output:< / strong > [5]
< / pre >
< p > < / p >
< p > < strong > Constraints:< / strong > < / p >
< ul >
< li > The number of nodes in the list is < code > n< / code > .< / li >
< li > < code > 1 < = n < = 500< / code > < / li >
< li > < code > -500 < = Node.val < = 500< / code > < / li >
< li > < code > 1 < = left < = right < = n< / code > < / li >
< / ul >
< p > < / p >
< strong > Follow up:< / strong > Could you do it in one pass?