总结每个类型的大概题型,并列出比较带有代表性/面试频率较高的题
-
罗马数字
13.比较简单,找到规律即可
12题属于找到特例之后,依次从大往下除累加,相同办法是字典法
- [12. 整数转罗马数字](.\12. 整数转罗马数字.md)
- [13.罗马数字转整数](.\13. 罗马数字转整数.md)
-
盛水
- [11. 盛最多水的容器](..\list\11. 盛最多水的容器.md)
- [6.N 字形变换](../..//list/6.N 字形变换.md)
数组、字符串题型:双指针(原地修改/翻转/逆转)
剩余需要手动画图,得出规律进行解题,这类题也需要多做做,达到接到题大致需要双指针老实遍历还是有规律可解。找规律这种有点像dp得出动态方程,有了公式相当于有了外挂,减少时间、空间复杂度达到最优解。
- ***翻转链表
- 203. 移除链表元素
- 24. 两两交换链表中的节点
- 19. 删除链表的倒数第N个结点
- 202. 快乐数
- [82. 删除排序链表中的重复元素 II](../list/82. 删除排序链表中的重复元素 II.md)
- 344.反转字符串.md
- 541.反转字符串II.md
- [剑指Offe 05.替换空格.md](../list/剑指Offe 05.替换空格.md)
重点:
-
递归最常用的是dfs深度遍历
-
中序遍历搜索二叉树相关题型, 如[第k大的节点](./list/230. 二叉搜索树中第K小的元素.md),[验证是否二叉搜索树](../list/98. 验证二叉搜索树.md)
-
bfs的题型,可以结合到动态规划相关达到困难题型
主要是二分查找相关题型
如LRU、O(1)时间插入、删除、查找
还有例如 位运算技巧解题、一些比较有技巧的题目
[289. 生命游戏](../list/289. 生命游戏.md)
位进行解题,比较有技巧性