92 翻轉鍊錶

2021-10-02 22:33:00 字數 637 閱讀 9557

題目:

思路:遍歷鍊錶,直到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 直觀的想,找出要反轉的一段的鍊錶的頭乙個結點的前乙個結點,使用頭插法,將該段鍊錶中的結點,...