题解 | #哑结点+记录值—删除有序链表中重复的元素-II#
删除有序链表中重复的元素-II
https://www.nowcoder.com/practice/71cef9f8b5564579bf7ed93fbe0b2024
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
/*哑结点方便处理头节点。temp记录重复值,方便删除*/
class Solution {
public:
/**
*
* @param head ListNode类
* @return ListNode类
*/
ListNode* deleteDuplicates(ListNode* head) {
// write code here
ListNode *ymm = new ListNode(0);
ymm ->next = head;
ListNode *cur = ymm;
while (cur->next!=nullptr && cur->next->next != nullptr) {
if(cur->next->val == cur->next->next->val){
int temp = cur->next->val;
while (cur->next!=nullptr && cur->next->val == temp) {
cur->next = cur->next->next;
}
}else{
cur = cur->next;
}
}
return ymm->next;
}
};
查看13道真题和解析