刪除排序鏈表中的重復(fù)元素(清晰)
class?Solution?{
public:
????ListNode*?deleteDuplicates(ListNode*?head)?{
??????//用啞結(jié)點處理
??????//別忘了處理空
?????if(head==nullptr||head->next==nullptr)
?????{
?????????return?head;
?????}
?????ListNode*?ptr=new?ListNode(0,head);
?????ListNode*?hair=ptr;
?????while(ptr->next!=nullptr&&ptr->next->next!=nullptr)
?????{
?????????//在外層控制兩個后續(xù)節(jié)點指針情況真的很不錯哎
?????????while(ptr->next->val==ptr->next->next->val)
?????????{
?????????????int?val=ptr->next->val;
?????????????while(ptr->next->val==val)
?????????????{
?????????????????ptr->next=ptr->next->next;
?????????????????//在內(nèi)層就控制出現(xiàn)空節(jié)點或者聯(lián)系head->1->1情況真的很不錯
?????????????????if(ptr->next==nullptr||(ptr->next->next==nullptr&&ptr->next->val!=val))
?????????????????return?hair->next;
?????????????}
?????????}
????????ptr=ptr->next;
?????}
?????//值得背一百遍
?????return?hair->next;
};
};