ListNode* Solution::deleteDuplicates(ListNode* A) {
ListNode *a = A;
ListNode *b = A->next;
while(b != 0 && a != 0){
if(a->val == b->val){
a->next = b->next;
delete b;
a = a->next;
b = a->next;
}
}
return A;
}
TGlzdE5vZGUqIFNvbHV0aW9uOjpkZWxldGVEdXBsaWNhdGVzKExpc3ROb2RlKiBBKSB7CiAgICBMaXN0Tm9kZSAqYSA9IEE7CiAgICBMaXN0Tm9kZSAqYiA9IEEtPm5leHQ7CiAgICAKICAgIHdoaWxlKGIgIT0gMCAmJiBhICE9IDApewogICAgICAgIGlmKGEtPnZhbCA9PSBiLT52YWwpewogICAgICAgICAgICBhLT5uZXh0ID0gYi0+bmV4dDsKICAgICAgICAgICAgZGVsZXRlIGI7CiAgICAgICAgICAgIAogICAgICAgICAgICBhID0gYS0+bmV4dDsKICAgICAgICAgICAgYiA9IGEtPm5leHQ7CiAgICAgICAgfQogICAgfQogICAgCiAgICByZXR1cm4gQTsKfQ==