设计思路:通过HashMap查找是否存在对应的key,双向链表进行插入和删除。时间复杂度O(1),空间复杂度O(N)。 对于get操作 若HashMap中存在,先从链表中删除此节点,再将此节点添加到末尾保持最新,最后返回节点值即可; 否则,直接返回-1; 对于set操作 若HashMap中存在,更新HashMap,同时从链表中删除此节点,再将此节点添加到末尾保持最新; 否则 若当前容量等于缓存容量,先获取链首元素(最不常用元素)old,从链表中删除,同时将old节点对应的key从HashMap中删除。最后将当前节点添加到HashMap中,并插入到链表的末尾; 否则,直接插入Ha...