力扣演算法題 082刪除排序鍊錶中的重複元素2

2022-06-04 01:06:09 字數 1120 閱讀 3260

給定乙個排序鍊錶,刪除所有含有重複數字的節點,只保留原始鍊錶中 沒有重複出現 的數字。

示例 1:

輸入: 1->2->3->3->4->4->5

輸出: 1->2->5

示例 2:

輸入: 1->1->1->2->3

輸出: 2->3

1 #include "

_000庫函式.h"2

34struct

listnode 8};

91011//

又是無頭結點的鍊錶!!!

12//

還有,哪個數字重複了,就將他全部刪除!!

13class

solution

33if (flag)

41else

42 p = p->next;43}

44return head->next;45}

46};

4748

//不釋放刪除的節點,我不建議,但好多部落格是這樣寫的

49class

solution

66return head->next;67}

68};

6970

7172

//使用遞迴,不使用while

7374

class

solution

82return deleteduplicates(head->next);83}

84 head->next = deleteduplicates(head->next);

85return

head;86}

87};

88void

t082() ;

92for

(auto a : v)

98 p = head->next;

99while

(p)

103 cout <104solution s;

105 p = s.deleteduplicates(head->next);

106while

(p)

110 cout <111 }

力扣 刪除鍊錶中的節點

編寫乙個函式,使其可以刪除某個鍊錶中給定的 非末尾 節點,你將只被給定要求被刪除的節點。示例 現有乙個鍊錶 head 4,5,1,9 它可以表示為 輸入 head 4,5,1,9 node 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該鍊錶應變為 4 1...

力扣234題(回文鍊錶)

一 遞迴法,空間複雜度太大,不採用,但是要會遞迴是如何進行的,噁心死我了 看不懂官方的快慢指標 將鍊錶後半部分反轉,然後將前半部分和後半部分進行比較。比較完後將鍊錶恢復原樣 1 通過 雙指標技巧 中的快 慢指標來找到鍊錶的中點 慢指標一次走一步,快指標一次走兩步 慢指標最後在的地方就是鍊錶的中點 2...

力扣演算法題 086分隔鍊錶

給定乙個鍊錶和乙個特定值x,對鍊錶進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。你應當保留兩個分割槽中每個節點的初始相對位置。示例 輸入 head 1 4 3 2 5 2,x 3 輸出 1 2 2 4 3 5 1 include 000庫函式.h 2 3struct listno...