1. 程式人生 > >資料結構之單鏈表反轉

資料結構之單鏈表反轉

    前些天在CSDN上看到一篇老外公司招程式設計師的報道,說想招到會寫程式的人真是很難,許多來應聘的人連單鏈表反轉也寫不出來,我就想自己試一下。就像很多演算法一樣,單鏈表反轉思路挺簡單,但是要寫出沒有明顯漏洞的程式碼還是需要一段時間的。

    單鏈表反轉的基本思路有兩種:

    1)反轉節點的指標next;

    2)直接反轉節點,每次拿到一個節點,都插入到連表最前端。

    第一種方法的程式碼如下:

    第二種方法的程式碼如下:

    兩種演算法的程式碼看上去很像,不過還是有本質的區別:方法一中pCur一直在向尾節點遍歷,而方法二中的pCur則一直保持不變,這也體現了兩種演算法的不同之處。當然,演算法的實現也可以有別的寫法,並不侷限於這裡。