&LeetCode0083& 刪除排序鏈表中的重複元素

題目

給定一個排序鏈表,刪除所有重複的元素,使得每個元素只出現一次。

示例 1:

輸入: 1->1->2
輸出: 1->2

示例 2:

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

來源:力扣(LeetCode

思路

遍歷整個鏈表,將每個結點和其後面的結點比較,如果結點值相同,將前面結點的 next 指針跳過緊挨着的相同值的結點,指向後面一個結點,留下的鏈表就是沒有重複項的。

C++代碼

class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) 
    {
        ListNode *cur = head;
        while (cur && cur -> next)
        {
            if (cur -> val == cur -> next -> val)
            {
                cur -> next = cur -> next -> next;
            }
            else
            {
                cur = cur -> next;
            }
        }
        return head;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章