原題鏈結
/**
* 1. 找到第 m 個元素並記錄下來,在查詢第 m 個元素的同時,需要記錄第 m-1 個元素的位置
* 2. 依次反轉第 m 個元素與第 m+1 個元素的關係,直到第 n 個元素
* 3. 反轉結束後,需要記錄下第 n 個元素和第 n+1 個元素的位置
* 4. 處理第 m-1 個元素與第 n 個元素的關係, (m-1).next = n
* 5. 處理第 m 個元素與第 n+1 個元素的關係, m.next = (n+1)
*/class
solution
if(mnode == null)
// 新建nnode指標,初始時指向mnode,從nnode開始反轉鍊錶
listnode nnode = mnode;
// 新建nnextnode指標,在鍊錶反轉之前,記錄 nnode.next,記錄鍊錶關係
listnode nnextnode = nnode.next;
// 反轉鍊錶
for(
int i = m; i < n && nnextnode != null; i++
)// 處理第 m-1 個元素與第 n 個元素的關係
mprevnode.next = nnode;
// 處理第 m 個元素與第 n+1 個元素的關係
mnode.next = nnextnode;
return dummy.next;
}}
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...