83. 删除排序链表中的重复元素 - 力扣(LeetCode)
链表操作,注意保护现场就好。
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
if(!head || !head->next) return head;
auto pre = head, cur = head->next;
while(cur){
if(cur->val == pre->val){
pre->next = cur->next;
cur = cur->next;
}else{
pre = pre->next;
cur = cur->next;
}
}
return head;
}
};
换种写法:
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
auto cur = head;
while(cur && cur->next){
if(cur->val == cur->next->val) cur->next = cur->next->next;
else cur = cur->next;
}
return head;
}
};