從無序鍊錶中移除重複項

2021-09-26 19:55:31 字數 514 閱讀 1798

題目描述

實現從無序鍊錶中移除重複項,並保持原有順序

head->0->5->3->2->4->3->1->0 => head->0->5->3->2->4->1

解題思路

1.從第乙個元素開始,遍歷鍊錶比較重複元素並刪除重複元素(雙重迴圈)

2.空間換時間(hashset判斷是否有該節點)(hash方法和equals方法的作用)

public class arch_03 

public static void removerepeatnode1(node head)elseelse}}

cur=cur.next;

} }public static void removerepeatnode2(node head)else

} }}

分析:

1.雙重迴圈的方法是乙個笨辦法,時間複雜度o(n^2)

2.用空間換時間是乙個比較常見的思路,但是要輸入理解hashcode()和equals()方法

如何從無序鍊錶中移除重複項 Java版

題目描述 給定乙個沒有排序的鍊錶,去掉其重複項,並保留原順序,如鍊表1 3 1 5 5 7,去掉重複項變為1 3 5 7。方法一 順序刪除 思路 通過雙重迴圈直接在鍊錶上執行刪除操作。外層迴圈用乙個指標從第乙個節點開始遍歷整個鍊錶,然後內層迴圈用另乙個指標遍歷其餘節點,將與外層迴圈遍歷到的指標所指節...

python實現從無序的鍊錶中刪除重複項

題目描述 給定乙個沒有排序的鍊錶,去掉其重複項,並保留原順序,例如鍊錶 1 3 1一 5一 5 7,去掉重複項後變為 l一 3一 5 7。分析與解答 順序刪除 主要思路為 通過雙重迴圈直接在鍊錶上進行刪除操作 外層迴圈用乙個指標從第乙個 結點開始遍歷整個鍊錶,然後內層迴圈用另外乙個指標遍歷其餘結點 ...

無序鍊錶去除重複項

def listflushbyset inputlist 集合去重 newlist list set inputlist print newlist 空間換時間 def flushlist inputlist objlist for i in range 0,len inputlist length...