題目要求:刪除一個單向鏈表中重復(fù)出現(xiàn)的值,只保留出現(xiàn)過一次的數(shù)。如1->1->2->3->3刪除后為2
思路:
這道題看起來與
這道題差不多,但是分析過后,發(fā)現(xiàn)不少那么簡單。
因為僅僅靠單向鏈表的結(jié)構(gòu)來處理,因為無法得知開始重復(fù)的節(jié)點的前一個節(jié)點位置,所以需要其他的方法。
這道題可以考慮用遞歸來實現(xiàn)。
當(dāng)當(dāng)前節(jié)點的值和下一個節(jié)點的值相等時,先求到距離當(dāng)前節(jié)點最遠的值相等的節(jié)點s,返回s節(jié)點的遞歸;
當(dāng)兩個值不等時,當(dāng)前節(jié)點的下一個節(jié)點為對下一個節(jié)點做遞歸。
初始狀態(tài)
刪除過程