看到這個題目,最容易想到的就是遍歷鍊錶,把遍歷到的值存到hashtable中,在遍歷過程中,若當前的值在hashtable中存在,則說明這個資料是重複的,因此可以刪除。
public
void
deleteduplecate
(node head)
tmp=tmp.next;
}}
以上方法優點:時間複雜度低,缺點:需要額外的儲存空間
//雙重迴圈遍歷鍊錶
public
void
deleteduplecate
(node head)
else
q=q.next;
} p=p.next;
}}
時間複雜度比上變高,但不需要額外的儲存空間。 鍊錶刪除重複元素1,刪除重複元素2,
刪除排序鍊錶中的重複元素 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2 輸出 1 2 示例 2 輸入 1 1 2 3 3 輸出 1 2 3 思路 很簡單。先將兩個指標進行操作,start,end然後判斷end是否等於空即可 definition for s...
較 鍊錶刪除重複元素
在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 這道題首先要注意,重複元素乙個不留,且開頭元素可能重複,所以如果我們直接在原煉表上操作會比較麻煩。這裡採用選擇非重複節點構建新鍊錶的方式進行刪除...
刪除鍊錶中的重複元素
昨晚在參加蘭亭集勢的筆試時,看到了這樣乙個題目。大致意思就是給出乙個單鏈表,鍊錶中有重複的元素,需要刪除重複的元素。如 1 2 3 5 4 3 7,刪除重複元素後變成1 2 3 5 4 7。思路其實還蠻簡單 建立三個工作指標p,q,r,然後p 遍歷 全表。p每到乙個結點,q就從這個結點往後遍歷,並與...