目前已刷的题:
| # | Problem | Solution | Difficulty | Tag |
|---|---|---|---|---|
| 1 | 两数之和 | java | 简单 | array, hash table |
| 2 | 两数相加 | java | 中等 | linked list |
| 3 | 无重复字符的最长子串 | java | 中等 | hash table, two pointers, string, sliding window |
| 11 | 盛最多水的容器 | java | 中等 | array, two pointers |
| 15 | 三数之和 | java | 中等 | array, two pointers |
| 17 | 电话号码的字母组合 | java | 中等 | string, backtracking |
| 18 | 四数之和 | java | 中等 | array, two pointers |
| 19 | 删除链表的倒数第N个节点 | java | 中等 | linked list, two pointers |
| 20 | 有效的括号 | java | 简单 | stack, string |
| 21 | 合并两个有序链表 | java | 简单 | linked list |
| 22 | 括号生成 | java | 中等 | string, backtracking |
| 23 | 合并K个排序链表 | java | 困难 | heap, linked lis, divide and conquer |
| 24 | 两两交换链表中的节点 | java | 中等 | linked list |
| 30 | 串联所有单词的子串 | java | 困难 | hash table, two pointers, string, sliding window |
| 37 | 解数独 | java | 困难 | hash table, backtracking |
| 39 | 组合总和 | java | 中等 | array, backtracking |
| 40 | 组合总和 II | java | 中等 | array, backtracking |
| 42 | 接雨水 I | java | 困难 | stack, array, two pointers |
| 46 | 全排列 | java | 中等 | backtracking |
| 47 | 全排列 II | java | 中等 | backtracking |
| 51 | N皇后 | java | 困难 | backtracking |
| 52 | N皇后 II | java | 困难 | backtracking |
| 61 | 旋转链表 | java | 中等 | linked list, two pointers |
| 74 | 搜索二维矩阵 I | java | 中等 | array, binary search |
| 76 | 最小覆盖子串 | java | 困难 | hash table, two pointers, string, sliding window |
| 82 | 删除排序链表中的重复元素 II | java | 中等 | linked list |
| 83 | 删除排序链表中的重复元素 | java | 简单 | linked list |
| 84 | 柱状图中最大的矩形 | java | 困难 | stack, array |
| 86 | 分隔链表 | java | 中等 | linked list, two pointers |
| 92 | 反转链表 II | java | 中等 | linked list |
| 94 | 二叉树的中序遍历 | java | 中等 | stack, tree, hash table |
| 98 | 验证二叉搜索树 | java | 中等 | tree, dfs |
| 100 | 相同的树 | java | 简单 | tree, dfs |
| 101 | 对称二叉树 | java | 简单 | tree, dfs, bfs |
| 102 | 二叉树的层次遍历 | java | 中等 | tree, bfs |
| 103 | 二叉树的锯齿形层次遍历 | java | 中等 | stack, tree, bfs |
| 104 | 二叉树的最大深度 | java | 简单 | tree, dfs |
| 105 | 从前序与中序遍历序列构造二叉树 | java | 中等 | tree, dfs, array |
| 106 | 从中序与后序遍历序列构造二叉树 | java | 中等 | tree, dfs, array |
| 107 | 二叉树的层次遍历 II | java | 简单 | tree, bfs |
| 108 | 将有序数组转换为二叉搜索树 | java | 简单 | tree, dfs |
| 109 | 有序链表转换二叉搜索树 | java | 中等 | linked list, dfs |
| 110 | 平衡二叉树 | java | 简单 | tree, dfs |
| 111 | 二叉树的最小深度 | java | 简单 | tree, dfs, bfs |
| 112 | 路径总和 | java | 简单 | tree, dfs |
| 113 | 路径总和 II | java | 中等 | tree, dfs |
| 141 | 环形链表 | java | 简单 | linked list, two pointers |
| 142 | 环形链表 II | java | 中等 | linked list, two pointers |
| 143 | 重排链表 | java | 中等 | linked list |
| 144 | 二叉树的前序遍历 | java | 中等 | stack, tree |
| 145 | 二叉树的后序遍历 | java | 困难 | stack, tree |
| 147 | 对链表进行插入排序 | java | 中等 | sort, linked list |
| 148 | 排序链表 | java | 中等 | sort, linked list |
| 150 | 逆波兰表达式求值 | java | 中等 | stack |
| 155 | 最小栈 | java | 简单 | stack, design |
| 160 | 相交链表 | java | 简单 | linked list |
| 167 | 两数之和 II - 输入有序数组 | java | 简单 | array, two pointers, binary search |
| 203 | 移除链表元素 | java | 简单 | linked list |
| 206 | 反转链表 | java | 简单 | linked list |
| 208 | 实现 Trie(前缀树) | java | 中等 | trie, design |
| 209 | 长度最小的子数组 | java | 中等 | array, two pointers, binary search, sliding window |
| 211 | 添加与搜索单词 | java | 中等 | trie, backtracking, design |
| 215 | 数组中第K个最大元素 | java | 中等 | heap, divide and conquer |
| 216 | 组合总和 III | java | 中等 | array, backtracking |
| 225 | 用队列实现栈 | java | 简单 | stack, design |
| 226 | 翻转二叉树 | java | 简单 | tree |
| 232 | 用栈实现队列 | java | 简单 | stack, design |
| 234 | 回文链表 | java | 简单 | linked list, two pointers |
| 237 | 删除链表中的节点 | java | 简单 | linked list |
| 239 | 滑动窗口最大值 | java | 困难 | heap, sliding window |
| 240 | 搜索二维矩阵 II | java | 中等 | binary search, divide and conquer |
| 257 | 二叉树的所有路径 | java | 简单 | tree, dfs |
| 295 | 数据流的中位数 | java | 困难 | heap, design |
| 328 | 奇偶链表 | java | 中等 | linked list |
| 341 | 扁平化嵌套列表迭代器 | java | 中等 | stack, design |
| 347 | 前 K 个高频元素 | java | 中等 | heap, hash table |
| 394 | 字符串解码 | java | 中等 | stack, dfs |
| 424 | 替换后的最长重复字符 | java | 中等 | two pointers, sliding window |
| 437 | 路径总和 III | java | 简单 | tree |
| 438 | 找到字符串中所有字母异位词 | java | 中等 | hash table, sliding window |
| 442 | 数组中重复的数据 | java | 中等 | array |
| 445 | 两数相加 II | java | 中等 | linked list |
| 448 | 找到所有数组中消失的数字 | java | 简单 | array |
| 480 | 滑动窗口中位数 | java | 困难 | heap, sliding window |
| 496 | 下一个更大元素 I | java | 中等 | stack |
| 503 | 下一个更大元素 II | java | 中等 | stack |
| 567 | 字符串的排列 | java | 中等 | two pointers, sliding window |
| 653 | 两数之和 IV - 输入 BST | java | 简单 | tree |
| 707 | 设计链表 | java | 中等 | linked list, design |
| 725 | 分隔链表 | java | 中等 | linked list |
| 739 | 每日温度 | java | 中等 | stack, hash table |
| 844 | 比较含退格的字符串 | java | 简单 | stack, two pointers |
| 876 | 链表的中间结点 | java | 简单 | linked list |
| 1019 | 链表中的下一个更大节点 | java | 中等 | stack, linked list |
| 1171 | 从链表中删去总和值为零的连续节点 | java | 中等 | linked list |
| 1290 | 二进制链表转整数 | java | 简单 | bit manipulation, linked list |