LeetCode 83 洗掉排序鏈表中的重復元素
1.題目描述:
存在一個按升序排列的鏈表,給你這個鏈表的頭節點 head ,請你洗掉所有重復的元素,使每個元素 只出現一次 ,
回傳同樣按升序排列的結果鏈表,
示例 1:

輸入:head = [1,1,2]
輸出:[1,2]
2. 題解:
時間復雜度😮(N),遍歷原鏈表一遍;
空間復雜度😮(1);
C++:
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
if ( !head) return head ;
ListNode* p = head ;
while ( p->next) {
if(p->val == p->next->val) p->next = p->next->next ;
else p = p->next ;
}
return head ;
}
};
Golang:
func deleteDuplicates(head *ListNode) *ListNode {
if ( head == nil ){ return head}
p := head
for p.Next != nil {
if (p.Val == p.Next.Val) {
p.Next = p.Next.Next
}else {
p = p.Next
}
}
return head
}
題解:洗掉排序鏈表中的重復元素
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/354637.html
標籤:其他
上一篇:docker個人理解與極簡安裝
下一篇:肝爆c指標
