核心点:LRU的每次操作(get,put)都会将节点放入链表首部。需要自定义双向链表。 双向链表需要提供addToHead,moveToHead,removeNode,removeLast的接口。这些接口只需要熟悉双向链的删除与头插法就能写出来。 链表插入删除过程的简化---虚拟节点,dummyHead,dummyTail。且初始化时要让dummyTail.prev保存最开的头结点,即dummyHead.next. 双向链表的头插法要明确,是将node插入到dummyHead与真正的头结点之间。而真正的头结点是dummyHead.插入完成后,node则变为真正的头结点。 put操作有则更新,无...