92 反轉鍊錶 II

2021-10-08 00:15:37 字數 769 閱讀 7517

題目描述:

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

說明:

1 ≤ m ≤ n ≤ 鍊錶長度。

示例:

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

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

方法1:

主要思路:

(1)直觀的想,找出要反轉的一段的鍊錶的頭乙個結點的前乙個結點,使用頭插法,將該段鍊錶中的結點,按照要反轉的個數,逐個的向後遍歷,將各個結點插入到前面;

(2)注意借助輔助的頭結點;

/**

* definition for singly-linked list.

* struct listnode

* };

*/class

solution

//對當前段使用頭插法進行反轉

head=curnode;

curnode=curnode-

>next;

listnode* tmpnode=

null

;//使用要反轉的個數作為限制

while

(--n)

//釋放記憶體

head=dummy-

>next;

delete dummy;

return head;}}

;

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

92 反轉鍊錶 II

92.反轉鍊錶 ii 難度中等425收藏分享切換為英文關注反饋 反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4輸出 1 4 3 2 5 nullpublic static listnode reverseb...

92 反轉鍊錶 II

92.反轉鍊錶 ii 雙指標頭插法 1.definition for singly linked list.2.public class listnode 6.class solution for int i 0 i n m i return dummyhead.next 其他 為什麼用dummyh...