刪除鍊錶的重複節點

2021-09-26 01:14:30 字數 383 閱讀 7700

思路:就是找到不重複出現的節點,然後連線到新鍊錶上面

反思:在連線節點到新鍊錶的時候,每次都要把尾部節點的next指標設定為空!!以防當前尾部節點真的是最後乙個節點卻沒給next設定指標域為空

struct listnode 

};class solution

listnode * temp = pnode;///!此時指向的節點還是重複的節點,只不過是最後乙個

pnode = pnode->next;//移動到下乙個節點

delete temp;//刪除重複節點

}else

else

}} return newhead;//返回新鍊錶_的頭結點

}};

鍊錶的重複節點刪除

題目一 力扣83 刪除重複的節點 保留重複的節點 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2 輸出 1 2 示例 2 輸入 1 1 2 3 3 輸出 1 2 3 解法1 使用set去重,思路很簡單。時間複雜度o n 空間複雜度o n public sta...

鍊錶(刪除重複的節點)

題目要求 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 題解 先判空和長度是否為一 定義兩個指標和乙個傀儡節點 用cur當游標遍歷鍊錶,當cur的值和cur.next的值相等時,prev不動...

鍊錶 刪除鍊錶中重複的節點

刪除鍊錶中重複的節點 方法一 採用遞迴的方法,但這種方法在鍊錶無重複節點時效率不高 function deleteduplication phead if phead.val phead.next.val return deleteduplication node 採用遞迴的方法從下乙個不重複的點開...