代码比较简洁,注意判断是否相等,然后决定是next挪还是本体挪即可。
c++实现
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
// write code here
if(!head) return head;
ListNode* L = head;
while(L->next){
if(L->val == L->next->val){ //和下一步如果相等,把next往后跳一个
L->next = L->next->next;
}else{
L = L->next; //和下一步不等,直接往后走即可
}
}
return head;
}
};