题目: remove duplicates from sorted list
描述
Given a sorted linked list, delete all duplicates such that each element appear only once.
Example 1:
Input: 1->1->2
Output: 1->2
Example 2:
Input: 1->1->2->3->3
Output: 1->2->3
解法
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) {
ListNode * cur = head;
while(cur&&cur->next)
{
if (cur->val==cur->next->val)
cur->next=cur->next->next;
else
cur=cur->next;
}
return head;
}
};
python
class Solution:
def deleteDuplicates(self, head):
“”"
:type head: ListNode
:rtype: ListNode
“”"
re = head;
while re and re.next:
if re.val==re.next.val:
re.next=re.next.next
else:
re=re.next
return head