LeetCode 92 反轉鍊錶 II

2021-08-19 23:22:12 字數 1214 閱讀 6620

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

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

示例:

輸入: 1->2->3->4->5->null, m = 2, n = 4

輸出: 1->4->3->2->5->null

5ms 

/**

* definition for singly-linked list.

* public class listnode

* }*/class solution

m = m-1;

n = n-1;

listlist = new arraylist();

listnode cur = head;

while(cur!=null)

listnode a;

listnode b;

while(m

優化4ms

/*** definition for singly-linked list.

* public class listnode

* }*/class solution

* }*/class solution

listnode dummy = new listnode(0);

dummy.next = head;

listnode prev = dummy;

for (int i = 0; i < m - 1; i++)

listnode start = prev.next;

listnode then = start.next;

for (int i = 0; i < n - m; i++)

return dummy.next;

}}

給定乙個值3,需要對陣列[1,2,3,4,5] 反轉, 需要得到結果 [3,2,1,5,4]

public listnode reversettwo(listnode head,int m,int total){

listnode dummy = new listnode(0);

dummy.next = head;

listnode pre = dummy;

listnode start = pre.next;

listnode then = start.next;

for(int i=0;i

leetcode 92反轉鍊錶

反轉從位置 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.public class listnode class...

leetcode92 反轉鍊錶 II

反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4輸出 1 4 3 2 5 null思路 先往後遍歷找到需要反轉的節點作為起點 count m 然後按照劍指offer 反轉鍊錶 的思路,設定curr,pre,p...

LeetCode 92 反轉鍊錶ii

反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4 輸出 1 4 3 2 5 null 思路 可以根據反轉的起始點將鍊錶分為三個部分,反轉中間部分,結束後將三個鍊錶連線到一起即可。這裡需要注意的是,中間鍊錶反轉...