/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
class Solution {
public:
/**
*
* @param head ListNode类
* @return ListNode类
*/
ListNode* deleteDuplicates(ListNode* head) {
// write code here
if(head == nullptr)
return head;
auto p = head;
while(p) {
auto ne = p->next;
if(ne && (ne->val == p->val)) {
p->next = ne->next; // 如果出现重复的节点,删除重复节点
continue; // 同时p节点保持原位置不动
}
// 否则p节点向前移动
p = ne;
}
return head;
}
};