# 删除排序链表中的重复元素

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次

返回同样按升序排列的结果链表。

 

示例 1:

输入:head = [1,1,2]
输出:
[1,2]

示例 2:

输入:head = [1,1,2,3,3]
输出:
[1,2,3]

 

提示:

## template ```cpp #include using namespace std; struct ListNode { int val; ListNode *next; ListNode() : val(0), next(nullptr) {} ListNode(int x) : val(x), next(nullptr) {} ListNode(int x, ListNode *next) : val(x), next(next) {} }; class Solution { public: ListNode *deleteDuplicates(ListNode *head) { if (head == nullptr) { return nullptr; } ListNode *prev = head; ListNode *p = prev->next; while (p != nullptr) { if (p->val != prev->val) { prev->next = p; prev = p; } p = p->next; } prev->next = p; return head; } }; ``` ## 答案 ```cpp ``` ## 选项 ### A ```cpp ``` ### B ```cpp ``` ### C ```cpp ```