題目描述:
反轉從位置 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...