反轉鍊錶 II

2021-10-08 11:28:06 字數 625 閱讀 5991

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

solution

listnode* mark = phead-

>next;

//標記下反轉鍊錶的部分的最終節點,方便插入最後不用反轉的尾部

listnode* p = phead-

>next-

>next;

//要插入的節點

for(

int i =

0; i < n - m; i++

) mark-

>next = tmp;

return pre-

>next;}}

;

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

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