刪除鍊錶中重複放入結點

2021-08-08 09:46:26 字數 735 閱讀 8596

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...