25. K 個一組翻轉(zhuǎn)鏈表(C++)
給你鏈表的頭節(jié)點?head
?,每?k
?個節(jié)點一組進行翻轉(zhuǎn),請你返回修改后的鏈表。
k
?是一個正整數(shù),它的值小于或等于鏈表的長度。如果節(jié)點總數(shù)不是?k
?的整數(shù)倍,那么請將最后剩余的節(jié)點保持原有順序。
你不能只是單純的改變節(jié)點內(nèi)部的值,而是需要實際進行節(jié)點交換。
?
示例 1:

輸入:head = [1,2,3,4,5], k = 2輸出:[2,1,4,3,5]
示例 2:

輸入:head = [1,2,3,4,5], k = 3輸出:[3,2,1,4,5]
?
提示:
鏈表中的節(jié)點數(shù)目為?
n
1 <= k <= n <= 5000
0 <= Node.val <= 1000
?
進階:你可以設(shè)計一個只用?O(1)
?額外內(nèi)存空間的算法解決此問題嗎?
刷題代碼
本地調(diào)試代碼
標(biāo)簽: