(相似题目:)
Given a sorted linked list, delete all duplicates such that each element appear only once.
Example 1:
Input: 1->1->2Output: 1->2
Example 2:
Input: 1->1->2->3->3Output: 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) { //comepared with the 81-th problem,I think this is more simple.. 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; }};
reference: