題目:
思路:遍歷鍊錶,直到m位置,記錄為新的頭節點,即將開始翻轉.
新增乙個pre節點,每遍歷乙個m到n之間的節點,就將它提到頭節點的前面.
**:
class solution:
def reversebetween(self, head: listnode, m: int, n: int) -> listnode:
if not head:
return none
ans=listnode(0)
item=listnode(0)
ans.next=head
pre=ans
for i in range(1,m):
pre=pre.next
head=pre.next
for j in range(m,n):
item=head.next
head.next=item.next
item.next=pre.next
pre.next=item
return ans.next
鍊錶 92部分翻轉鍊錶
題目 反轉部分單向鍊錶 給定乙個單項鍊表的頭結點head,以及兩個整數from和to,在單項鍊表上把第from個節點到第to個節點這一部分進行反轉。例如 1 2 3 4 5 null,from 2,to 5 結果為1 4 3 2 5 null 再如 1 2 3 null,from 1,to 3 結果...
92 反轉鍊錶 II
反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4輸出 1 4 3 2 5 null definition for singly linked list.struct listnode class soluti...
92 反轉鍊錶 II
題目描述 反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4 輸出 1 4 3 2 5 null 方法1 主要思路 1 直觀的想,找出要反轉的一段的鍊錶的頭乙個結點的前乙個結點,使用頭插法,將該段鍊錶中的結點,...