题解 | #删除有序链表中重复的元素-I#
删除有序链表中重复的元素-I
http://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 || head->next == nullptr) return head;
ListNode* pre = head;
ListNode* p = head->next;
while (p != nullptr) {
if (pre->val == p->val){
pre->next = p->next;
free(p);
p = pre->next;
}else {
pre = p;
p = p->next;
}
}
return head;
}
};