
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
ListNode* newhead =new ListNode(-1,head);
ListNode* p = newhead;
while(p->next&&p->next->next){
if(p->next->val==p->next->next->val){
int val = p->next->val;
while(val==p->next->val){
p->next = p->next->next;
if(p->next==nullptr)
return newhead->next;
}
}
else{
p = p->next;
}
}
return newhead->next;
}
};

这段代码实现了一个C++函数,用于删除链表中相邻的重复元素。它创建了一个新的头节点,然后遍历链表,当遇到重复元素时,跳过这些节点;否则,移动指针到下一个节点。最后返回新链表的头节点。
2064

被折叠的 条评论
为什么被折叠?



