/**
* 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) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if (!head) return NULL;
ListNode* res = NULL;
ListNode** pp = &res;
ListNode* cur = head;
while (cur)
{
ListNode* temp = cur;
while (cur->next && cur->next->val == cur->val)
cur = cur->next;
if (temp == cur)
{
*pp = cur;
pp = &(*pp)->next;
}
cur = cur->next;
}
*pp = NULL;
return res;
}
};[Leetcode] Remove Duplicates from Sorted List II
最新推荐文章于 2023-08-30 08:07:21 发布
本文提供了一种在单链表中删除所有重复元素的方法。通过迭代遍历链表,比较相邻节点值,若发现重复则跳过重复节点,直至链表末尾。此算法确保每个元素都是唯一的。
710

被折叠的 条评论
为什么被折叠?



