刪除鍊錶中的重複結點

2021-10-08 17:52:55 字數 630 閱讀 4155

題目描述

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。

例如,鍊錶1->2->3->3->4->4->5 處理後為 1->2->5

思路

(1)若煉表為空或者只有乙個結點,直接返回head

(2)在鍊錶不空的情況下,定義乙個新鍊錶用於存放去重後的結點,若head.next也不為空且head.val == head.next.val就向後移,直至相鄰結點的值不相等;將不重複的值放到定義的新鍊錶中即可

**

/*

public class listnode }*/

public

class

solution

listnode newhead =

newlistnode(0

);listnode tail = newhead;

while

(head!=null)

head = head.next;

}else

}return newhead.next;

}}

刪除鍊錶中重複的結點

題目描述 在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶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...

刪除鍊錶中重複的結點

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 題目分析 刪除鍊錶中的結點要比較當前結點是否與前面結點和後面結點相同,只有兩個都不同的結點才保留。用pre儲存前乙個節點,cur儲存當前結點,c...