刪除鍊錶中重複的結點

2021-10-07 13:24:25 字數 913 閱讀 1647

// 利用虛假頭結點

listnode head =

newlistnode(-

1); head.next = phead;

listnode pre = head;

listnode dup = head;

listnode move = head.next;

boolean ise =

false

;while

(move.next != null)

else

else}}

// 注意兩類情況:1. 2. 全是重複結點,在中間,在末尾

if(ise)

return head.next;

}}時間複雜度為o(n),空間複雜度為o(1)

以下解法也一樣

public

class

solution

// 利用虛假頭結點

listnode head =

newlistnode(-

1); head.next = phead;

listnode pre = head;

listnode move = head.next;

while

(move != null)

move = move.next;

pre.next = move;

}else

}return head.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...