刷题ing~
复习一下链表问题,本来以为吃透了,但写起来还是不太行。
思路:
本题需要设置哑结点,以保证首部出现重复元素时,能够正常打印链表;
如何保证链表删除重复元素后能够正确连接?
代码:
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
ListNode*dummyNode=new ListNode(-1);
dummyNode->next=head;
ListNode*curNode=dummyNode;
//保证不为空
while(curNode->next&&curNode->next->next)
{
if(curNode->next->val==curNode->next->next->val)
{
int x=curNode->next->val;
while(curNode->next&&curNode->next->val==x) //内部循环移动cur-》next
{
curNode->next=curNode->next->next;
}
}
else
{
curNode=curNode->next;
}
}
return dummyNode->next;
}
};



