leecode 92 反轉鍊錶 II

2021-09-26 01:25:12 字數 938 閱讀 2325

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

說明:1 ≤ m ≤ n ≤ 鍊錶長度。

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

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

思路將單鏈表進行反轉,頭變尾,尾變頭,改變指標。但是這個題,需要進行指標邊界的判定。

public class 指定位置反轉鍊錶 

} //1 ≤ m ≤ n ≤ 鍊錶長度

public static listnode reversebetween(listnode head, int m, int n)

int count = 1;

listnode hd = head; //臨時指標

listnode lp = null; //分割鏈的左側指標

listnode rp = null; //分割鏈的右側指標

listnode pre = null; //旋轉鏈的開始

listnode next = null;

//找到lp 如果m = 1, 跳過這個迴圈

while(count < m)

rp = hd;

//生成反轉鏈

while(count <= n)

//恢復完整的鏈 如果m=1,鏈指標被修改

if(m != 1) else

rp.next = hd;

return head; }

public static void printlinkedlist(listnode head)

system.out.println(); }

public static void main(string args)

}

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

題目描述 反轉從位置 m 到 n 的鍊錶。請使用一趟掃瞄完成反轉。說明 1 m n 鍊錶長度。示例 輸入 1 2 3 4 5 null,m 2,n 4 輸出 1 4 3 2 5 null 方法1 主要思路 1 直觀的想,找出要反轉的一段的鍊錶的頭乙個結點的前乙個結點,使用頭插法,將該段鍊錶中的結點,...

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