leetcode: 25. k 個一組翻轉鍊錶
常數額外空間,反轉鍊錶 >> 用指標原地反轉
有一說一, 這道鍊錶題 >> 還挺難的。
注意點;
建立頭節點 >> hair
理清思路
ac code
/**
* definition for singly-linked list.
* public class listnode
* listnode(int val)
* listnode(int val, listnode next)
* }*/class
solution
listnode temp = end.next;
// 尾巴斷掉
end.next = null;
pre.next =
reverse
(start)
;// 接下一段
start.next = temp;
// 更新
pre = start;
}return hair.next;
}// 區域性反轉鍊錶
public listnode reverse
(listnode start)
return pre;
}}
25 k個一組翻轉鍊錶
給出乙個鍊錶,每 k 個節點一組進行翻轉,並返回翻轉後的鍊錶。k 是乙個正整數,它的值小於或等於鍊錶的長度。如果節點總數不是 k 的整數倍,那麼將最後剩餘節點保持原有順序。示例 給定這個鍊錶 1 2 3 4 5 當 k 2 時,應當返回 2 1 4 3 5 當 k 3 時,應當返回 3 2 1 4 ...
25 K 個一組翻轉鍊錶
題目.有意思可以拆解為3個子問題 另外變數和邏輯比較多容易搞混,最好多定義幾個臨時變數 package main import fmt type listnode struct func printlist root listnode fmt.println func reverse head li...
25 K 個一組翻轉鍊錶
給你乙個鍊錶,每 k 個節點一組進行翻轉,請你返回翻轉後的鍊錶。k 是乙個正整數,它的值小於或等於鍊錶的長度。如果節點總數不是 k 的整數倍,那麼請將最後剩餘的節點保持原有順序。示例 給你這個鍊錶 1 2 3 4 5 當 k 2 時,應當返回 2 1 4 3 5 當 k 3 時,應當返回 3 2 1...