Remove Duplicates from Sorted List II
2013-05-26 14:56
239 查看
题目:
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only
distinct numbers from the original list.
For example,
Given
Given
分析:先处理头指针,再处理重复问题。
代码如下:
ListNode *deleteDuplicates(ListNode *head) {
while(head!=NULL)
{
int i=0;
while(head->next!=NULL&&head->val==head->next->val)
{
head=head->next;
i++;
}
if(i>0)
{
head=head->next;
}
else
{
break;
}
}
if(head==NULL)return head;
if(head->next==NULL)return head;
ListNode *head1=head;
while(head1->next!=NULL)
{
ListNode *head2=head1->next;
int i=0;
while(head2->next!=NULL&&head2->next->val==head2->val)
{
head2=head2->next;
i++;
}
if(i>0)
{
head1->next=head2->next;
}
else
{
head1=head1->next;
}
}
return head;
}
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only
distinct numbers from the original list.
For example,
Given
1->2->3->3->4->4->5, return
1->2->5.
Given
1->1->1->2->3, return
2->3.
分析:先处理头指针,再处理重复问题。
代码如下:
ListNode *deleteDuplicates(ListNode *head) {
while(head!=NULL)
{
int i=0;
while(head->next!=NULL&&head->val==head->next->val)
{
head=head->next;
i++;
}
if(i>0)
{
head=head->next;
}
else
{
break;
}
}
if(head==NULL)return head;
if(head->next==NULL)return head;
ListNode *head1=head;
while(head1->next!=NULL)
{
ListNode *head2=head1->next;
int i=0;
while(head2->next!=NULL&&head2->next->val==head2->val)
{
head2=head2->next;
i++;
}
if(i>0)
{
head1->next=head2->next;
}
else
{
head1=head1->next;
}
}
return head;
}
相关文章推荐
- LeetCode Remove Duplicates from Sorted List II
- LeetCode-Remove Duplicates from Sorted List II
- Remove Duplicates from Sorted List II--LeetCode
- [Leetcode] Remove Duplicates from Sorted List II
- Remove Duplicates from Sorted List II
- Remove Duplicates from Sorted List II
- [LeetCode] Remove Duplicates from Sorted List II
- Remove Duplicates from Sorted List II
- Remove Duplicates from Sorted List II
- Leetcode# 82 Remove Duplicates from Sorted List II
- Remove Duplicates from Sorted List II
- leetcode Remove Duplicates from Sorted List I && II
- [LeetCode]Remove Duplicates from Sorted List II Java
- 082 Remove Duplicates from Sorted List II [Leetcode]
- [leetcode]Remove Duplicates from Sorted List II @ Python
- Remove Duplicates from Sorted List II [LeetCode]
- 82. Remove Duplicates from Sorted List II(Python3)
- leetCode(13):Remove Duplicates from Sorted List II
- Remove Duplicates from Sorted List II
- LeetCode2.2.5(Remove Duplicates from Sorted List II)