給定乙個排序鍊錶,刪除所有含有重複數字的節點,只保留原始鍊錶中 沒有重複出現 的數字。
示例 1:
輸入: 1->2->3->3->4->4->5示例 2:輸出: 1->2->5
輸入: 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...