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