每日一道leetcode题 82.删除排序链表中的重复元素

1.思路

找到链表中相同的元素,然后跳过这些元素,指向下一组元素;

存在问题,

a.没有删除节点,

b.还有其他思路)

2.代码

/**
 * 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* dummy = new ListNode(-1);
        dummy->next = head;
        ListNode* pre;
        ListNode* cur = dummy; 
        int t;
        while(cur)
        {
            pre = cur;
            cur = cur->next;
            while(cur && cur->next && cur->val == cur->next->val)
            {
                t = cur->val;
                while(cur && t == cur->val)
                {
                    cur = cur->next;
                }
            }
            pre->next = cur;
        }
        return dummy->next;
        
		   
    }
};

3. 参考

https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/solution/xun-huan-jie-fa-jian-dan-gao-xiao-tu-jie-by-wu-yan/

你可能感兴趣的:(每日一道LeetCode题)