一、运行结果
二、题目
三、思路
从前往后扫描链表,如果当前节点的值和后继节点的值相等,则删除后继节点,并留在当前节点继续判断新的后继节点值是否相等,否则继续向后扫描。
四、代码
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
ListNode* dummy = new ListNode(-1);
dummy->next = head;
while(head){
if(head->next && head->val == head->next->val){ //重复元素
head->next = head->next->next; //删除下一个结点
}
else head = head->next;
}
return dummy->next;
}
};