LeetCode83 - Remove Duplicates from Sorted List--删除有序链表中重复的元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode83 - Remove Duplicates from Sorted List--删除有序链表中重复的元素相关的知识,希望对你有一定的参考价值。
思路:使用两个指针p1和p2遍历链表,p1在前p2在后。若p1指向的值小于p2指向的值,则p2向前走,直到二者不相等,然后更改p1的指针,再将p1和p2都向前走一步,这么做直到p2到达链表尾部。
/** * 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 NULL; ListNode* p1=head; ListNode* p2=head->next; while(p2!= NULL) { while(p2!=NULL && p1->val == p2->val) p2=p2->next; if(p2==NULL) p1->next = NULL; else { p1->next = p2; p1=p2; p2=p2->next; } } return head; } };
以上是关于LeetCode83 - Remove Duplicates from Sorted List--删除有序链表中重复的元素的主要内容,如果未能解决你的问题,请参考以下文章
leetcode83-Remove Duplicates from Sorted List
[LeetCode] 83. Remove Duplicates from Sorted List
LeetCode83 Remove Duplicates from Sorted List
LeetCode 83 Remove Duplicates from Sorted List