NowCoder 刪除鍊錶中重複的結點

2021-10-02 18:06:01 字數 509 閱讀 9570

題意:給乙個排序鍊錶,要求刪除其中的所有重複結點(包括自身),返回刪除後的頭結點

思路:主要有幾個要注意的點,乙個是頭結點也可能重複,重複完後的下乙個值不同的結點還可能接著重複,需要找到第乙個不重複的結點,再從這個結點往後找,記錄最後乙個不重複的結點,沒有重複的時候更新這個結點,否則找到下乙個不重複結點,將其連線起來,直到處理到鍊錶末尾即可

public

class

solution

while

(flag1)

} listnode node = phead.next, pre = phead;

while

(node != null)

if(flag)

pre.next = node.next;

else

pre = pre.next;

node = node.next;

}return phead;

}}

NOWCODER程式設計題 刪除鍊錶中重複的結點

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 首先判斷鍊錶是否為空,或者是否只含有乙個節點,如果是,則返回頭結點 建立乙個新節點cur,使得cur next phead。這個節點是為了防止頭...

刪除重複鍊錶

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 class solution listnode newhead listnode malloc sizeof listnode newhead ...

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

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