Leetcode solutions in C++ 11
| NO. | Title | Solution | Note | Difficulty | Tag |
|---|---|---|---|---|---|
| 1 | 两数之和 | C++ | Note | Easy | 数组 | 哈希表 |
| 2 | 两数相加 | C++ | Note | Medium | 链表 | 数学 |
| 3 | 字符串中不含重复字符的最长子串 | C++ | Note | Medium | 字符串 |
| 4 | 两个排序数组的中值 | C++ | Note | Hard | 数组 | 二分查找 |
| 5 | 最长回文子串 | C++ | Note | Medium | 字符串 | 动态规划 |
| 7 | 反转整数 | C++ | Note | Easy | 数学 | 鲁棒性 |
| 8 | 字符串转整数(atoi) | C++ | Note | Medium | 字符串 | 数学 | 鲁棒性 |
| 10 | 正则表达式匹配 | C++ | Note | Hard | 字符串 | 动态规划 |
| 11 | 盛最多水的容器 | C++ | Note | Medium | 数组 | 双指针 |
| 13 | 罗马数字转整数 | C++ | Note | Easy | 数学 | 字符串 |
| 14 | 最长公共前缀 | C++ | Note | Easy | 字符串 |
| 15 | 三数之和 | C++ | Note | Medium | 数组 | 双指针 |
| 17 | 电话号码的字符组合 | C++ | Note | Medium | 字符串 |
| 19 | 删除链表倒数第n个节点 | C++ | Note | Medium | 链表 | 鲁棒性 |
| 20 | 有效的括号 | C++ | Note | Easy | 字符串 | 栈 |
| 21 | 合并两个有序链表 | C++ | Note | Easy | 链表 |
| 22 | n对括号的所有有效形式 | C++ | Note | Medium | 回溯 |
| 23 | 合并K个有序链表 | C++ | Note | Hard | 链表 | 多路归并 |
| 24 | 成对交换链表中的节点 | C++ | Note | Medium | 链表 |
| 26 | 删除有序数组中的冗余元素 | C++ | Note | Easy | 数组 |
| 27 | 删除数组中值为val的元素 | C++ | Note | Easy | 数组 |
| 28 | 实现子串查找函数strStr() | C++ | Note | Easy | 字符串 |
| 29 | 不用乘除取模实现整数除法 | C++ | Note | Medium | 条件限制 |
| 31 | 数组元素序列中按字典序的下一个序列 | C++ | Note | Medium | 数组 |
| 33 | 有序数组旋转后的查找 | C++ | Note | Medium | 二分查找 |
| 34 | 有序数组中查找数字的范围 | C++ | Note | Medium | 二分查找 |
| 36 | 有效数独 | C++ | Note | Medium | 数组 |
| 38 | 报数 | C++ | Note | Easy | 字符串 |
| 39 | 和为target的数字组合(I) | C++ | Note | Medium | 数组 |
| 40 | 和为target的数字组合(II) | C++ | Note | Medium | 数组 |
| 41 | 第一个缺失的正数 | C++ | Note | Hard | 查找 |
| 42 | 接雨水 | C++ | Note | Hard | 数组 |
| 44 | 通配符匹配 | C++ | Note | Hard | 字符串 | 动态规划 |
| 45 | 跳步游戏II | C++ | Note | Hard | 动态规划 | BFS |
| 46 | (不含相同元素的)整形数组的全排列 | C++ | Note | Medium | 全排列 |
| 47 | (含相同元素的)整形数组的全排列 | C++ | Note | Medium | 全排列 |
| 48 | 90度旋转图片 | C++ | Note | Medium | 数组 |
| 49 | 将字符颠倒的字符串分组 | C++ | Note | Medium | 字符串 |
| 50 | 实现Pow(x,n) | C++ | Note | Medium | 数学 | 鲁棒性 |
| 53 | 和最大的连续子数组 | C++ | Note | Easy | 数组 |
| 54 | 顺时针打印矩阵 | C++ | Note | Medium | 数组 |
| 55 | 跳步游戏 | C++ | Note | Medium | 贪心 |
| 56 | 区间合并 | C++ | Note | Medium | 排序 |
| 62 | 左上角到右下角的路径数 | C++ | Note | Medium | 动态规划 |
| 66 | 数组表示的数字加1 | C++ | Note | Easy | 数组 |
| 69 | x的平方根 | C++ | Note | Easy | 数学 | 二分查找 | 鲁棒性 |
| 70 | 爬楼梯 | C++ | Note | Easy | 数组 | 动态规划 |
| 73 | 设置矩阵中的0 | C++ | Note | Medium | 数组 |
| 75 | 排序数组中的0、1、2 | C++ | Note | Medium | 数组 |
| 76 | 最小覆盖子串 | C++ | Note | Hard | 数组 | 滑动窗口 | 双指针 |
| 78 | 不含重复元素集合的所有子集 | C++ | Note | Medium | 数组 |
| 79 | 字符矩阵中查找字符串 | C++ | Note | Medium | 数组 | 回溯 |
| 83 | 删除有序链表的冗余节点 | C++ | Note | Easy | 链表 |
| 84 | 柱状图中最大的矩形 | C++ | Note | Hard | 数组 | 栈 |
| 88 | 合并两个有序数组 | C++ | Note | Easy | 数组 |
| 91 | 数字字符串的解码方式 | C++ | Note | Medium | 字符串 | 动态规划 |
| 94 | 输出二叉树的中序遍历序列 | C++ | Note | Medium | 二叉树 |
| 98 | 判断一棵二叉树是否是BST | C++ | Note | Medium | 二叉树 | BST |
| 101 | 对称二叉树 | C++ | Note | Easy | 二叉树 |
| 102 | 分层打印二叉树 | C++ | Note | Medium | 二叉树 |
| 103 | 之字形打印二叉树 | C++ | Note | Medium | 二叉树 |
| 104 | 二叉树的最大深度 | C++ | Note | Easy | 二叉树 |
| 105 | 根据前序和中序序列构造二叉树 | C++ | Note | Medium | 二叉树 |
| 108 | 将有序数组转换为二叉搜索树 | C++ | Note | Easy | 二叉树 |
| 109 | 将有序链表转换二叉搜索树 | C++ | Note | Medium | 二叉树 |
| 116 | 将二叉树的每一层串成链表 | C++ | Note | Medium | 二叉树 |
| 118 | 输出杨辉三角的前n行 | C++ | Note | Easy | 数学 |
| 121 | 买卖股票的最佳时机 | C++ | Note | Easy | 数组 |
| 122 | 买卖股票的最佳时机II | C++ | Note | Easy | 数组 |
| 124 | 二叉树的最大路径和 | C++ | Note | Hard | 二叉树 |
| 125 | 验证回文串 | C++ | Note | Easy | 字符串 | 双指针 |
| 127 | 单词阶梯 | C++ | Note | Medium | 字符串 | 图 | BFS |
| 128 | 最长连续序列 | C++ | Note | Hard | 数组 |
| 130 | 被包围的区域 | C++ | Note | Medium | 图 | DFS |
| 131 | 字符串所有子串都是回文的分区 | C++ | Note | Medium | 字符串 | DFS |
| 134 | 加油站 | C++ | Note | Medium | 数组 | 贪心 |
| 136 | 只出现一次的数字 | C++ | Note | Easy | 位运算 |
| 137 | 只出现一次的数字II | C++ | Note | Medium | 位运算 |
| 138 | 带随机指针的链表复制 | C++ | Note | Medium | 链表 |
| 139 | 单词拆分I | C++ | Note | Medium | 字符串 | 动态规划 |
| 140 | 单词拆分II | C++ | Note | Hard | 字符串 | 动态规划 |
| 141 | 判断链表是否有环 | C++ | Note | Easy | 链表 |
| 146 | LRU缓存机制 | C++ | Note | Hard | 类设计 |
| 148 | 链表节点排序 | C++ | Note | Medium | 链表 | 分治 |
| 149 | 直线上最多的点数 | C++ | Note | Hard | 数学 | 哈希表 |
| 150 | 逆波兰表达式求值 | C++ | Note | Medium | 数学 | 栈 |
| 152 | 连续子数组的最大积 | C++ | Note | Medium | 动态规划 |
| 155 | 最小栈 | C++ | Note | Easy | 类设计 | 栈 |
| 160 | 两个链表的相交节点 | C++ | Note | Easy | 链表 |
| 162 | 查找数组中任一峰值的下标 | C++ | Note | Medium | 数组 | 二分查找 |
| 166 | 求分数的值 | C++ | Note | Medium | 数学 | 鲁棒性 |
| 169 | 求众数 | C++ | Note | Easy | 数组 |
| 171 | Excel表列序号 | C++ | Note | Easy | 数学 |
| 172 | 阶乘后的零 | C++ | Note | Easy | 数学 |
| 179 | 求整形数组元素拼接出的最大数字 | C++ | Note | Medium | 数组 |
| 189 | 旋转数组 | C++ | Note | Easy | 数组 |
| 190 | 颠倒二进制位 | C++ | Note | Easy | 位运算 |
| 191 | 位1的个数 | C++ | Note | Easy | 位运算 |
| 198 | 打家劫舍 | C++ | Note | Easy | 动态规划 |
| 200 | 求岛屿的数量 | C++ | Note | Medium | 图 |
| 202 | 快乐数 | C++ | Note | Easy | 数学 |
| 203 | 删除链表中等于给定值的所有节点 | C++ | Note | Easy | 链表 |
| 204 | 计数质数 | C++ | Note | Easy | 数学 |
| 206 | 链表反序 | C++ | Note | Easy | 链表 |
| 207 | 课程安排 | C++ | Note | Medium | 图 | 拓扑排序 |
| 208 | 实现Trie树(前缀树) | C++ | Note | Medium | 类设计 | Trie树 |
| 210 | 课程安排II | C++ | Note | Medium | 图 | 拓扑排序 |
| 212 | 单词搜索II | C++ | Note | Hard | Trie树 | 字符串 |
| 215 | 数组中第K大的元素 | C++ | Note | Medium | 数组 |
| 217 | 存在重复元素 | C++ | Note | Easy | 数组 |
| 218 | 天际线问题 | C++ | Note | Hard | 几何 |
| 227 | 基础的计算器II | C++ | Note | Medium | 数学 | 鲁棒性 |
| 230 | BST中第K小的元素 | C++ | Note | Medium | BST |
| 234 | 回文链表 | C++ | Note | Easy | 链表 |
| 236 | 二叉树的最低公共祖先 | C++ | Note | Medium | 二叉树 |
| 237 | 删除链表中的节点 | C++ | Note | Easy | 链表 |
| 238 | 除自身外的乘积数组 | C++ | Note | Medium | 数组 |
| 239 | 滑动窗口的最大值 | C++ | Note | Hard | 数组 |
| 240 | 二维矩阵中查找元素 | C++ | Note | Medium | 数组 |
| 242 | 有效的字母异位词 | C++ | Note | Easy | 字符串 |
| 268 | 缺失数字 | C++ | Note | Easy | 数组 | 数学 | 位运算 |
| 279 | 完美平方数 | C++ | Note | Medium | 动态规划 |
| 283 | 移动零 | C++ | Note | Easy | 数组 |
| 287 | 找出数组中的冗余数字 | C++ | Note | Medium | 数组 | 二分查找 |
| 289 | 细胞自动机的下一个状态 | C++ | Note | Medium | 数组 |
| 295 | 数据流的中位数 | C++ | Note | Hard | 类设计 | 堆 |
| 297 | 二叉树的序列化与反序列化 | C++ | Note | Hard | 二叉树 |
| 300 | 数组的最长升序序列 | C++ | Note | Medium | 数组 |
| 315 | 计算右侧小于当前元素的个数 | C++ | Note | Hard | 分治 | 树状数组 | BST |
| 322 | 找钱 | C++ | Note | Medium | 数组 | 动态规划 |
| 324 | 摆动排序II | C++ | Note | Medium | 数组 |
| 326 | 3的幂 | C++ | Note | Easy | 数学 |
| 328 | 将链表偶数位置的节点移到尾部 | C++ | Note | Medium | 链表 |
| 329 | 矩阵中的最长递增路径 | C++ | Note | Hard | DFS |
| 334 | 数组的三元升序子序列 | C++ | Note | Medium | 数组 |
| 341 | 扁平化嵌套列表迭代器 | C++ | Note | Medium | 类设计 | 栈 |
| 344 | 反转字符串 | C++ | Note | Easy | 字符串 |
| 347 | 出现频率最高的k个数字 | C++ | Note | Medium | 数组 |
| 350 | 两个数组的交集II | C++ | Note | Easy | 数组 |
| 371 | 两整数之和 | C++ | Note | Easy | 位运算 | 条件限制 |
| 378 | 有序矩阵中第K小的元素 | C++ | Note | Medium | 数组 | 二分查找 |
| 380 | 实现O(1)的插入删除与随机获取 | C++ | Note | Medium | 类设计 |
| 384 | 打乱数组 | C++ | Note | Medium | 数组 | 洗牌算法 |
| 387 | 字符串中的第一个唯一字符 | C++ | Note | Easy | 字符串 |
| 395 | 至少有K个重复字符的最长子串 | C++ | Note | Medium | 字符串 |
| 412 | Fizz Buzz | C++ | Note | Easy | |
| 454 | 四数相加II | C++ | Note | Medium | 数组 | 哈希表 |
| 695 | 岛屿的最大面积 | C++ | Note | Easy | 图 |