刪除鍊錶中的重複元素

2022-02-05 05:26:46 字數 401 閱讀 4498

昨晚在參加蘭亭集勢的筆試時,看到了這樣乙個題目。大致意思就是給出乙個單鏈表,鍊錶中有重複的元素,需要刪除重複的元素。如:1→2→3→5→4→3→7,刪除重複元素後變成1→2→3→5→4→7。

思路其實還蠻簡單:

建立三個工作指標p,q,r,然後p

遍歷

全表。p每到乙個結點,q就從這個結點往後遍歷,並與p的數值比較,相同的話就free掉那個結點。

linklist removedupnode(linklist l)   //刪除重複結點的演算法

else

q = q->next;

} p = p->next;

} return l;

}

鍊錶刪除重複元素1,刪除重複元素2,

刪除排序鍊錶中的重複元素 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2 輸出 1 2 示例 2 輸入 1 1 2 3 3 輸出 1 2 3 思路 很簡單。先將兩個指標進行操作,start,end然後判斷end是否等於空即可 definition for s...

31 刪除鍊錶中重複元素

解析 1.保留重複的結點 例 1 1 2 比較當前結點的值與下一結點的值,如果相同,則當前結點指向下一結點的下一結點 如果當前結點的值與下一結點的值不同,則當前結點移動到下一結點。根據上述思路,由於當前結點的值1和下一結點的值1相同,則當前結點指向下一結點的下一節點,即1 2。public list...

刪除排序鍊錶中重複元素

示例 1 輸入 1 2 3 3 4 4 5 輸出 1 2 5 示例 2 輸入 1 1 1 2 3 輸出 2 3 照例使用三個指標來 struct listnode deleteduplicates struct listnode head else 沒有重複的就正常移動 示例 1 輸入 1 1 2 ...