第01章 数组系列 1
两个数组的交集(350) 1
长公共前缀(14) 4
买卖股票的时机(122) 6
旋转数组(189) 9
原地删除(27) 11
删除排序数组中的重复项(26) 12
加1(66) 14
两数之和(1) 17
三数之和(15) 18
Z字形变换(6) 22
螺旋矩阵Ⅰ(54) 27
螺旋矩阵Ⅱ(59) 31
24点游戏(679) 33
第k大的元素(215) 38
有效的数独(36) 42
生命游戏(289) 47
旋转图像(48) 52
第02章 链表系列 57
删除链表倒数第N个节点(19) 57
合并两个有序链表(21) 60
环形链表(141) 62
两数相加(2) 66
LRU缓存机制(146) 69
第03章 动态规划系列 81
爬楼梯(70) 81
子序和(53) 84
长上升子序列(300) 86
三角形小路径和(120) 89
小路径和(64) 94
“打家劫舍”(198) 99
不同路径 103
不同路径——障碍物 106
只有两个键的键盘(650) 110
飞机座位分配概率(1227) 113
整数拆分(343) 116
第04章 字符串系列 119
反转字符串(344) 119
字符串中第1个不重复字符(387) 120
实现Sunday匹配 122
大数打印 126
验证回文串(125) 130
KMP 132
旋转字符串(796) 146
后一个单词的长度(58) 149
猜数字游戏(299) 153
整数转罗马数字(12) 155
第05章 二叉树系列 160
深度与DFS(104) 160
层次遍历与BFS(102) 164
BST与其验证(98) 168
BST的查找(700) 170
删除二叉搜索树中的节点(450) 173
平衡二叉树(110) 176
完全二叉树的节点个数(222) 179
二叉树的剪枝(814) 183
第06章 滑动窗口系列 187
滑动窗口值(239) 187
无重复字符的长子串(3) 190
字母异位词(438) 195
和为s的连续正数序列 200
第07章 博弈论系列 203
囚徒困境 203
辛普森悖论 204
红眼睛和蓝眼睛 206
海盗分金币 207
智猪博弈 209
硬币问题 210
画圈圈的问题 211
巧克力问题 212
大鱼和小鱼的问题 214
Nim游戏(292) 216
第08章 排序系列 219
按奇偶排序数组(905) 219
扑克牌中的“顺子” 222
第09章 位运算系列 224
使用位运算求和 224
2的幂(231) 226
返回二进制中1的个数(191) 228
只出现一次的数字Ⅰ(136) 232
只出现一次的数字Ⅱ(137) 235
缺失数字(268) 240
第10章 二分查找系列 243
爱吃香蕉的阿珂(875) 243
x的平方根(69) 247
第1个错误的版本(278) 250
旋转排序数组中的小值Ⅰ(153) 252
旋转排序数组中的小值Ⅱ(154) 256
供暖器(475) 258
寻找两个正序数组的中位数(4) 260
搜索二维矩阵(74) 265
第11章 其他补充题目 268
水分子的产生 268
救生艇(881) 271
25匹马的问题 273
灯泡开关(319) 276
三门问题 279
小的k个数 282
盛多水的容器 288
移动石子直到连续(1033) 293
镜面反射(858) 295
荷兰国旗问题 297
由6和9组成的数字(1323) 302
费米估算 303
面试中的智力题Ⅰ 306
面试中的智力题Ⅱ 307
图的基础知识 308
全排列算法 312