problem problemName isNeedReview Summary Note
1 两数之和 link
2 两数相加 link 增加虚拟头结点/特判头结点
3 无重复字符的最长子串 link
4 寻找两个正序数组的中位数 link 根据要求的复杂度构思
5 最长回文子串 存在复杂度更低的算法哈如哈希+二分、马拉车算法
6 Z 字形变换 在纸上画图,可以把字母用从0开始的数字表示,这样方便找出等差数列等规律
7 整数反转 数学公式的变化,变一下公式的形式
8 字符串转换整数 (atoi)
9 回文数 link string的反向迭代器以及不常用的to_string方法
10 正则表达式匹配 link 动态规划,三维优化成二维
11 盛最多水的容器 link 巧妙的贪心证明,画图
12 整数转罗马数字
13 罗马数字转整数
14 最长公共前缀
15 三数之和 link 经典双指针问题
16 最接近的三数之和 三数之和扩展
17 电话号码的字母组合
18 四数之和 三数之和扩展
19 删除链表的倒数第 N 个结点 link 在链表中添加一个哑节点dummy node,它的next指针指向链表的头节点。由此我们就不需要对头节点进行特殊的判断了。此题考查快慢指针
20 有效的括号 用ASCII码相差小于2来判断是否为括号组合
21 合并两个有序链表
22 括号生成 link 括号字符串题型的规则
23 合并K个升序链表 link 堆的比较函数
24 两两交换链表中的节点
25 K 个一组翻转链表 link 练习链表操作的好题
26 删除有序数组中的重复项
27 移除元素
28 实现 strStr() KMP算法
29 两数相除 link 二进制转化思路
30 串联所有单词的子串 link
31 下一个排列 link
32 最长有效括号 link 括号字符串题型的规则+stack
33 搜索旋转排序数组 两段二分确定答案,思考二分的答案确定,比如A数组从小到大+从大到小排序,如1 2 3 4 4 3 2,二分中当A[mid]>=4时,l=mid。那么答案为>=X的最右侧,即下标为4的位置,且l和r相等。
34 在排序数组中查找元素的第一个和最后一个位置 练习下二分答案的位置确定
35 搜索插入位置
36 有效的数独
37 解数独
38 外观数列
39 组合总和
40 组合总和 II 练习下dfs
41 缺失的第一个正数 link
42 接雨水 link 单调栈
43 字符串相乘 高精度乘法
44 通配符匹配 动态规划(线性DP模板题)
45 跳跃游戏 II
46 全排列
47 全排列 II
48 旋转图像
49 字母异位词分组
50 Pow(x, n)
51 N 皇后
52 N皇后 II
53 最大子序和
54 螺旋矩阵
55 跳跃游戏
56 合并区间
57 插入区间
58 最后一个单词的长度
59 螺旋矩阵 II
60 排列序列
61 旋转链表
62 不同路径 当在第0行或者在第0列时方案数一定为1
63 不同路径 II
64 最小路径和
65 有效数字 link
66 加一
67 二进制求和
68 文本左右对齐 link
69 x 的平方根
70 爬楼梯 while(n–)比while(–n)多一次
71
72
73
74