Leetcode146. LRU 缓存 -hot100-codeTop

题目:

Leetcode146. LRU 缓存 -hot100-codeTop_第1张图片


代码(首刷看解析 2024年3月5日):

        学的灵神,太优美了,这个哨兵节点思想

class Node {
public:
    int key,value;
    Node* prev,*next;

    Node(int k = 0, int v = 0) : key(k), value(v) {}
};

class LRUCache {
private:
    int capacity;
    Node *dummy;
    unordered_map key_to_node;

    void remove(Node* x) {
        x->prev->next = x->next;
        x->next->prev = x->prev;
    }
    void push_front(Node *x) {
        x->next = dummy->next;
        x->prev = dummy;
        x->prev->next = x;
        x->next->prev = x;
    }
    Node* get_node(int key) {
        auto it = key_to_node.find(key); 
        if (it == key_to_node.end())
            return nullptr;
        auto node

你可能感兴趣的:(#,leetcode,---medium,算法,c++,leetcode,链表)