Leetcode # 92. Reverse Linked List II
- 2022.07.21
- LeetCode Linked List
https://leetcode.com/problems/reverse-linked-list-ii/
Solution
注意和 Leetcode # 206. Reverse Linked List 相同的多重賦值順序問題
Time Complexity: O(n)
Space Complexity: O(1)
class Solution:
def reverseBetween(self, head: Optional[ListNode], left: int, right: int) -> Optional[ListNode]:
i = 1
pre, cur = None, head
left_minus_1 = left - 1
while cur:
if i > left and i <= right:
final_node, final_node_next = cur, cur.next
cur.next, cur, pre = pre, cur.next, cur
else:
if i == left:
pre_node, first_node, final_node, final_node_next = pre, cur, cur, cur.next
pre, cur = cur, cur.next
i += 1
first_node.next = final_node_next
if pre_node:
pre_node.next = final_node
else:
head = final_node
return head
Last Updated on 2023/08/16 by A1go