链表去重

class Solution {
public:
    ListNode* removeDuplicateNodes(ListNode* head) {
        unordered_set<int> set; 
        ListNode* cur = head; 
        while(cur && cur->next){ //空节点则返回空
            set.insert(cur->val);
            if(set.count(cur->next->val)) cur->next = cur->next->next;  //找到相同元素,则删除链表
            else cur = cur->next; //开始循环
        }
        return head;
    }
};


关键语句

            set.insert(cur->val);
            if(set.count(cur->next->val)) cur->next = cur->next->next;  //找到相同元素,则删除链表
            else cur = cur->next; //开始循环

leetcode 地址

https://leetcode-cn.com/problems/remove-duplicate-node-lcci/submissions/

笔记

一开始是想到异或处理,但是没法实现
A^A=0
还是得用set
或者直接用数组标记出元素的个数

Last modification:June 26th, 2020 at 12:59 pm
如果觉得我的文章对你有用,请随意赞赏