??途W(wǎng)高頻算法題系列-BM3-鏈表中的節(jié)點每k個一組翻轉(zhuǎn)

題目描述
將給出的鏈表中的節(jié)點每 k 個一組翻轉(zhuǎn),返回翻轉(zhuǎn)后的鏈表如果鏈表中的節(jié)點數(shù)不是 k 的倍數(shù),將最后剩下的節(jié)點保持原樣你不能更改節(jié)點中的值,只能更改節(jié)點本身。
原題目見:
解法一:遞歸
使用遞歸的方式處理每k個一組的結(jié)點,具體處理方式如下:
首先用tail記錄每次翻轉(zhuǎn)的尾部,就是第k+1個結(jié)點,從頭結(jié)點開始,遍歷鏈表,找到第k+1個結(jié)點,如果當(dāng)前結(jié)點數(shù)不夠k個,則不用反轉(zhuǎn)直接返回;
然后從鏈表頭開始遍歷,翻轉(zhuǎn)結(jié)點并記錄反轉(zhuǎn)后的表頭pre和表尾結(jié)點head;
返回新的表頭即為反轉(zhuǎn)后的新的鏈表的表頭結(jié)點。
代碼
1.01^{365} ≈ 37.7834343329 ??
0.99^{365} ≈ 0.02551796445 ??
相信堅持的力量!
標簽: