last指向去重後的最後乙個元素
first還未去重部分的第乙個元素
fina指向first的下乙個,指向重複元素結尾的下乙個元素
從煉表頭開始,尋找第乙個非重複元素,即fina的位置,如果發現第乙個元素重複,直接刪除fina前的所有元素,phead指向fina,如圖step1和2
如果發現中間的重複結點last->next = fina,刪除中間重複的結點,如圖step3
例如:
第一步和第二步的指標情況
注意:刪除重複結點,避免記憶體洩露
/*
struct listnode
};*/
class solution
//第乙個結點重複 1
1 ..
if(last->val==first->val)else
//沒有重複結點
else
last = last->next;}}
return phead;}};
刪除重複結點(鍊錶)
在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 題目 tpid 13 tqid 11209 rp 1 ru activity oj qru ta coding interviews quest...
刪除鍊錶中重複的結點
題目描述 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5。刪除鍊錶中重複的結點 author 過路的守望 public class duplicationnode 新建乙個節點指向頭結點 li...
刪除鍊錶中重複的結點
在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 解法一 遞迴 public class listnode public class solution if phead.next.val phe...