【題目】給定乙個無序單鏈表的頭節點head,刪除其中值重複出現的節點。
例如:1->2->3->3->4->4->2->1->1->null,刪除值重複重複的節點之後為1->2->3->4->null。
請按以下要求實現兩種方法:
方法1:如果鍊錶長度為n,時間複雜度達到o(n)。
方法2:額外空間複雜度為o(1)
public
class
removerep
}// 時間複雜度o(n),空間複雜度o()
public
static
void
removerep1
(node head)
hashset
set =
newhashset
<
>()
; node pre = head;
node cur = head.next;
set.
add(head.value)
;while
(cur != null)
else
cur = cur.next;}}
// 時間複雜度o(n*n),空間複雜度o(1)
public
static
void
removerep2
(node head)
node cur = head;
node pre = null;
node next = null;
while
(cur != null)
else
next = next.next;
} cur = cur.next;}}
}
刪除無序單鏈表中值重複出現的節點
題目 給定乙個無序單鏈表的頭結點head,刪除其中值重複出現的節點。例如 1 2 3 3 4 4 2 1 1 null,刪除重複的節點之後為1 2 3 4 null。要求 方法1 時間複雜度o n 方法2 額外空間複雜度o 1 刪除無序單鏈表中值重複出現的節點 方法1 時間複雜度o n 額外空間複雜...
190507打卡 刪除無序單鏈表中值重複出現的節點
題目描述 給定乙個無序單鏈表的頭結點head,刪除其中值重複出現的節點。例如 1 2 3 3 4 4 2 1 1 null,刪除值重複出現的節點後為 1 2 3 4 null。要求 額外空間複雜度為o 1 思路 類似於選擇排序的過程,時間複雜度為o n n 額外空間複雜度為o 1 首先是頭結點,值為...
刪除有序鍊錶中重複出現的元素
給出乙個公升序排序的鍊錶,刪除鍊錶中的所有重複出現的元素,只保留原煉表中只出現一次的元素。例如 給出的鍊錶為1 2 3 3 4 4 5,返回1 2 5.給出的鍊錶為1 1 1 2 3,返回2 3.struct listnode class solution listnode phead new li...