目前已刷的题:
# | 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 |