# 83-Remove Duplicates from Sorted List ###### tags: `Easy` ## Question https://leetcode.com/problems/remove-duplicates-from-sorted-list/ ## Key - 因為順序排序過,重複數一定相鄰,所以跟下一個比較就好 ## Reference ## trivial Solution ```cpp= /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */ class Solution { public: ListNode* deleteDuplicates(ListNode* head) { ListNode* cur = head; while(cur != NULL && cur->next != NULL) { if(cur->val == cur->next->val) { cur->next = cur->next->next; } else { cur = cur->next; } } return head; } }; ``` ### Recursive solution ```cpp= class Solution { public: ListNode* deleteDuplicates(ListNode* head) { if(head == NULL || head->next == NULL) return head; head->next = deleteDuplicates(head->next); return head->val == head->next->val ? head->next : head; } }; ```