下文对各个题目已有的解法中用到的基本概念/数据结构/算法/技巧等进行了总结.
点击表格中的链接以跳转到对应的题解文件.
📗 | 💡 | 📘 | 💡 |
---|---|---|---|
001. 两数之和 | 数组 哈希表 |
007. 整数反转 | 字符串 数学 |
009. 回文数 | 字符串 数学 |
013. 罗马数字转整数 | 字符串 哈希表 数学 |
014. 最长公共前缀 | 字符串 |
020. 有效括号 | 栈 字符串 |
021. 合并两个有序链表 | 递归 减而治之 链表 |
026. 删除数组中的重复项 | 数组 双指针 |
027. 移除元素 | 双指针 |
028. 实现strStr() | 字符串 双指针 字符串匹配(KMP) |
035. 搜索插入位置 | 数组 二分查找 |
053. 最大子序和 | 数组 分治 动态规划 |
058. 最后一个单词的长度 | 字符串 |
066. 加一 | 数组 数学 |
067. 二进制加法 | 字符串 数学 |
069. Sqrt(x) | 数学 二分查找 |
070. 爬楼梯 | 记忆搜索 动态规划 |
083. 删除排序序列中的重复元素 | 链表 双指针 |
088. 合并两个有序数组 | 数组 排序 双指针 链表 |
094. 二叉树的中序遍历 | 树 二叉树 递归 栈 深度优先搜索 |
100. 相同的树 | 树 二叉树 深度优先搜索 广度优先搜索 |
101. 对称二叉树 | 树 二叉树 递归 深度优先搜索 队列 广度优先搜索 |
104. 二叉树的最大深度 | 树 二叉树 深度优先搜索 递归 广度优先搜索 |
108. 将有序数组转换成二叉搜索树 | 树 二叉树 分治 递归 深度优先搜索 |
110. 平衡二叉树 | 树 二叉树 深度优先搜索 |
111. 二叉树的最小深度 | 树 二叉树 深度优先搜索 递归 广度优先搜索 |
112. 路径总和 | 树 二叉树 深度优先搜索是 广度优先搜索 |
118. 杨辉三角 | 数学 |
119. 杨辉三角 II | 数学 数组 动态规划 |
121. 买卖股票的最佳时机 | 数组 动态规划 |
125. 验证回文串 | 字符串 双指针 |
136. 只出现一次的数 | 数组 位运算 |
141. 环形链表 | 链表 哈希表 双指针 |
144. 二叉树的前序遍历 | 树 二叉树 深度优先搜索 广度优先搜索 |
145. 二叉树的后序遍历 | 树 二叉树 深度优先搜索 广度优先搜索 |
160. 相交链表 | 链表 栈 双指针 |
167. 两数之和 II - 输入有序数组 | 数组 双指针 二分查找 |
168. Excel表列名称 | 数学 字符串 |
169. 多数元素 | 哈希表 |
171. Excel表列序号 | 数学 字符串 |
190. 颠倒二进制位 | 位运算 分治 |
191. 位1的个数 | 位运算 |