給定乙個鍊錶,其中可能包含重複的元素,比如1->2->2->3->4
第一題:刪除多餘的重複的元素: 也就是得到1->2->3->4
第二題:刪除所有的重複的元素:1->3->4
結構體和函式宣告如下:
typedef struct node
*listnode
listnode * removeduplicates(listnode * head)
第一題:
cur1->next = cur2;
cur1 = cur1->next;
} return head;
}
第二題:
感覺第二個比較有趣,要考慮的情況也多一點,關鍵是找到distinct value,並且加入到新的鍊錶中去
pre = cur->next;
cur = cur->next;
}tail -> next = cur;
return dummy->next;
}
LeetCode 鍊錶 刪除鍊錶中的重複元素
給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 輸入 1 1 2 3 3 輸出 1 2 3 雙指標法。從煉表頭開始構造一快一慢兩個指標 slow和fast,fast先移動,當遇到和slow元素值不同的節點時停下來,然後將slow指向fast並對slow和fast進行更新。如下 d...
刪除重複鍊錶
在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。例如,鍊錶1 2 3 3 4 4 5 處理後為 1 2 5 class solution listnode newhead listnode malloc sizeof listnode newhead ...
leetcode(簡單) 刪除排序鍊錶中的重複元素
我覺得我還是要注重一下時間的複雜度,不然怎麼叫搞演算法。題目 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2 輸出 1 2 示例 2 輸入 1 1 2 3 3 輸出 1 2 3思路解答 這個題是乙個已經排好序的鍊錶了,所以只需要挨個比較刪除就好了。不需要整個...