摘要:一、Leetcode146.LRU缓存 1. 使用STL list和unordered_map实现 using KV = pair<int, int>; class LRUCache{ private: int cacheCapacity; list<KV> cacheList; unordered
阅读全文
摘要:单链表排序 以arr = [8,6,7,5,1,2]为例 1. 自顶向下归并排序(递归)——分治法 Time: O(NlogN) Space: O(LOG(N)) 自顶向下: (8->6->7) | (5->1->2) (8->6)|(7) | (5->1)|(2) (8)|(6)|(7) |(5)
阅读全文
摘要:一、leetcode 98. 验证二叉搜索树 通过辅助函数增加参数进行判断。 虽然节点值在INT范围内,但要求其中序遍历序列严格单调递增,因此等于也不行,而且需要用LONG_MIN\LONG_MAX初始化最大最小值。 using ll = long long; class Solution { pr
阅读全文
摘要:一.二叉搜索树的最近公共祖先 利用二叉搜索树的性质,祖先的两个孩子,左孩子的小于根节点的值,右孩子大于根节点的值。 如果根节点的值,同时大于p的值和q的值,那么在左子树找根节点; 如果根节点的值,同时小于p的值和q的值,那么在右子树找根节点。 /** * Definition for a binar
阅读全文
摘要:https://leetcode-cn.com/problems/regular-expression-matching/ 1. 递归思想 如果*p 为空,*s为也为空。则匹配成功。 *s、p为当前字符。如果s == *p或者 *p == '.',则当前字符是匹配的。 如果p的下一个字符串为'',
阅读全文