83. 删除排序链表中的重复元素
C++
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
if(head == NULL){
return head;
}
ListNode* pre = head;
ListNode* cur = pre->next;
while(cur != NULL){
if(pre->val == cur->val){
pre->next = cur->next;
}
else{
pre = pre->next;
}
cur = pre->next;
}
return head;
}
};
python
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def deleteDuplicates(self, head: ListNode) -> ListNode:
if head == None:
return None
pre = head
cur = pre.next
while cur != None:
if cur.val == pre.val:
pre.next = cur.next
else:
pre = pre.next
cur = pre.next
return head