LeetCode 92 反轉鍊錶ii

2021-08-31 16:31:48 字數 768 閱讀 4030

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

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

示例:

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

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

思路:

可以根據反轉的起始點將鍊錶分為三個部分,反轉中間部分,結束後將三個鍊錶連線到一起即可。

這裡需要注意的是,中間鍊錶反轉後尾節點不是指向空節點而是指向第三段鍊錶的頭結點,所以初始節點設為n3。

**實現如下:

/**

* definition for singly-linked list.

* public class listnode

* }*/class solution

if(count == n)

pre = cur;

cur = cur.next;

}//將中間鍊錶進行反轉並和第三個鍊錶連線起來

pre = n3;

while(n2 != null)

//將第一段和後面的鍊錶連線起來

if(n1 != null)

if(n1 != null)else}}

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...

LeetCode 92 反轉鍊錶 II

反轉從位置 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 c...

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...