【LEETCODE】【簡單】#83 刪除排序連結串列中的重複元素
阿新 • • 發佈:2019-01-25
給定一個排序連結串列,刪除所有重複的元素,使得每個元素只出現一次。
示例 1:
輸入: 1->1->2 輸出: 1->2
示例 2:
輸入: 1->1->2->3->3 輸出: 1->2->3
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* deleteDuplicates(ListNode* head) { ListNode* left=head; //記錄重複元素最左側的元素位置 ListNode* right=NULL; //記錄重複元素的下一個元素 for(right=left;right!=NULL;right=right->next){ if(right->val!=left->val){ left->next=right; left=right; } } if(left!=NULL)left->next=NULL; //此時left應該指向最後一個元素 return head; } };
【後記】