92 反轉鍊錶 II(資料結構系列)

2021-10-20 01:13:21 字數 953 閱讀 4834

反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。

說明:1 ≤ m ≤ n ≤ 鍊錶長度。

見書286

/**

* definition for singly-linked list.

* public class listnode

* listnode(int val)

* listnode(int val, listnode next)

* }*/class

solution

//以head.next為起點,需要反轉前n-1個節點

listnode last =

reversen

(head.next, n -1)

; head.next.next = head;

head.next = successor;

return last;

}public listnode reversebetween

(listnode head,

int m,

int n)

//base case 經過遞迴最終會來到這裡的。

if(m ==1)

/*對於head.next來說就是反轉區間[left-1,right-1]

reversebetween();會返回反轉後的煉表頭節點,head.next就是把反轉後的頭節點和head連線起來

前進到反轉的起點觸發 base case

*/head.next =

reversebetween

(head.next, m -

1, n -1)

;return head;

}}

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

92 反轉鍊錶 II

92.反轉鍊錶 ii 難度中等425收藏分享切換為英文關注反饋 反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4輸出 1 4 3 2 5 nullpublic static listnode reverseb...