您的位置:首页 > 其它

83. Remove Duplicates from Sorted List

2017-02-20 15:33 260 查看

Given a sorted linked list, delete all duplicates such that each element appear only
once.
For example,

Given
1->1->2
, return
1->2
.

Given
1->1->2->3->3
, return
1->2->3
.

java:

/**
* Definition for singly-linked list.
* public class ListNode {
*     int val;
*     ListNode next;
*     ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode deleteDuplicates(ListNode head) {
if(head==null||head.next==null) return head;
ListNode a=head;
ListNode b=head.next;
while(b!=null)
{
if(a.val==b.val)
{
a.next=b.next;
b=b.next;
}
else
{
a=b;
b=b.next;
}
}
return head;

}
}

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* p=head;
ListNode* q=head->next;
while(q!=NULL)
{
if(q->val==p->val)
{
p->next = q->next;
}
else
{
p=q;
}
q = q->next;

}
return head;

}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: