先移動節點到要反轉的地方,反轉鍊錶就比較簡單了,然後把當前節點和反轉的鍊錶以及後面的第乙個節點的串起來即可
/**
* definition for singly-linked list.
* public class listnode
* }*/class solution
//反轉開始結點
listnode newhead = node.next;
listnode prenode = null;
listnode nextnode = null;
for(int i = 0;i < n - m + 1;i++)
//反轉完畢,nextnode就是反轉部分的後乙個
//這兩步不能反過來
node.next.next = nextnode;
// prenode就是反轉完成後的頭節點
node.next = prenode;
return ans.next;
}}
LeetCode反轉鍊錶II
反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4 輸出 1 4 3 2 5 null 把鍊錶分為三部分,中間一部分當做反轉鍊錶i的方法 class solution listnode node pre lis...
leetcode 鍊錶反轉II
反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4 輸出 1 4 3 2 5 null 核心部分還是用普通鍊錶反轉的三指標法 注意幾個坑點 首先思路是直接遍歷到第m個節點之前的m 1個節點,並記錄該節點為pre...
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...