题解 | #删除有序链表中重复的元素-I#
删除有序链表中重复的元素-I
https://www.nowcoder.com/practice/c087914fae584da886a0091e877f2c79
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
class Solution {
public:
/**
*
* @param head ListNode类
* @return ListNode类
*/
ListNode* deleteDuplicates(ListNode* head) {
// write code here
//有序链表删除重复元素,遍历直接删除就好了
if(head == nullptr ||head->next == nullptr) return head;
ListNode* p = head;
//唯一要注意的就是删除结点后不要移动p结点。
while(p->next != nullptr)
{
if(p->val == p->next->val)
{
ListNode* del = p->next;
p->next = p->next->next;
delete del;
continue;
}
p = p->next;
}
return head;
}
};
