單鏈表倒置

單鏈表倒置可以說是面試中提問率最高的題目了。網(wǎng)上有很多單鏈表倒置的算法,但是實現(xiàn)解釋的不是很清晰??偨Y(jié)了一些算法之后,把我自己認(rèn)為好理解的簡單方便的算法整理下來,方便以后自己復(fù)習(xí)。
?
1.迭代
下面的代碼及注釋應(yīng)該很好的解釋了頭插法來實現(xiàn)單鏈表倒置的思路。
2.遞歸
遞歸來實現(xiàn)倒置最直接的描述就是入棧出棧,鏈表節(jié)點從頭結(jié)點開始依次入棧,最后到尾節(jié)點入棧結(jié)束;開始出棧:尾節(jié)點最先出棧,出棧時依次將兩個相鄰的節(jié)點交換指向;出棧結(jié)束后,整個鏈表的倒置就完成了。重要的地方是將最先出棧的尾節(jié)點返回,這就是倒置后的鏈表的頭結(jié)點。
歡迎大家學(xué)習(xí)、共享,如果文章中有錯誤或漏洞,請大家在評論區(qū)留言!!