###### tags: `Leetcode` `easy` `list` `python` `c++` # 83. Remove Duplicates from Sorted List ## [題目出處:] https://leetcode.com/problems/remove-duplicates-from-sorted-list/ ## 題目: Given the head of a sorted linked list, delete all duplicates such that each element appears only once. Return the linked list sorted as well. ## 解題想法: 較為直觀~可以直接參考我的代碼! ## Python: ``` python= class ListNode(object): def __init__(self, val=0, next=None): self.val = val self.next = next def insert(self,node): if self.next==None: self.next=ListNode(node) else: self.next.insert(node) def printList(self): head=self stack=[] while head: stack.append(head.val) head=head.next print(stack) class Solution(object): def deleteDuplicates(self, head): """ :type head: ListNode :rtype: ListNode """ cur=head while cur and cur.next: if cur.val==cur.next.val: cur.next=cur.next.next else: cur=cur.next return head head=ListNode(1) head.insert(1) head.insert(2) head.insert(3) head.insert(3) head.printList() result=Solution() ans=result.deleteDuplicates(head) ans.printList() ``` ## C++: ``` cpp= #include<iostream> using namespace std; 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) {} }; void insertNode(ListNode *head,int data){ ListNode *tail=head; while (tail->next!=nullptr){ tail=tail->next; } ListNode *new_node=new ListNode(data); tail->next=new_node; } void printList(ListNode *head){ ListNode *tmp=head; while (tmp!=nullptr){ cout<<" "<<tmp->val; tmp=tmp->next; } cout<<endl; } 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; } }; int main(){ ListNode *head; head=new ListNode(1); insertNode(head,1); insertNode(head,2); insertNode(head,3); insertNode(head,3); cout<<"Original List: "; printList(head); Solution res; ListNode *ans =res.deleteDuplicates(head); cout<<"After delete : "; printList(ans); } ```