leetcode 刷题记录
反转链表
链表复制
栈
单调栈
相向双指针
239. 滑动窗口最大值 - 单调队列
622. 设计循环队列 - 设计数据结构
递归
104. 二叉树的最大深度 -- 思考根节点和左右子树之间的关系,不要一开始陷入细节 归的证明:数学归纳法
100. 相同的树
199. 二叉树的右视图 -- 层次遍历更好理解一点
98. 验证二叉搜索树 -- 前序、中序、后序遍历
143. 重排链表 -- 思考递归过程
滑动窗口
二分查找
最近公共祖先
层次遍历(✓)
2583. 二叉树中的第 K 大层和 python 中的heapq 和 JAVA中的priority_queue都是小根堆
199. 二叉树的右视图 这玩意的递归
2415. 反转二叉树的奇数层 不交换节点,去交换值,原理同237. 删除链表中的节点
回溯 -- 子集型
回溯-组合型
77. 组合 选或者不选 、枚举下一个数选哪个
22. 括号生成 // 注意当前元素可重复
回溯-排列型
2850. 将石头分散到网格图的最少移动次数 枚举 from(移走的石子的坐标)的所有排列,与to(移入的石子的坐标) 匹配,即累加从from到to的曼哈顿距离。所有距离之和的最小值就是答案。 python permutations
LC DP 题单:from灵神
动态规划入门-从记忆化搜索到递推
377. 组合总和 Ⅳ 本质上就是上一题的楼梯
740. 删除并获得点数 选了某个数字,就不能选相邻的数字,另一种版本的打家劫舍 198
13. 打家劫舍 II 偷第一家vs偷最后一家
待学习
最小费用最大流