本书《LeetCode题目解析与总结》旨在帮助读者深入理解编程竞赛中的经典算法题,通过详细解析和总结提升解题技巧与逻辑思维能力。
LeetCode解题总结
1. 数组
1.1 在有序数组中删除重复元素
1.2 对旋转后的排序数组进行查找
1.3 寻找两个已排序的数组中的中位数
1.4 最长连续序列问题
1.5 累加和计算
1.6 移除指定值在数组中的所有出现情况
1.7 下一个排列生成
1.8 第n个全排列的查找
1.9 验证数独的有效性
1.10 计算容纳雨水的最大量
1.11 数组旋转图像问题
1.12 将数字加一的操作
1.13 爬楼梯的步法计算
1.14 格雷码生成算法
1.15 设置矩阵行和列中的所有元素为零
1.16 加油站问题求解
1.17 分糖果游戏的设计与实现
1.18 找出数组中仅出现一次的数
2. 单链表
2.1 实现两个单链表相加功能
2.2 指定位置反转单链表的操作
2.3 根据给定值重新排序单链表
2.4 删除重复元素的处理方法
2.5 在指定位置旋转单链表操作
2.6 移除倒数第N个节点
2.7 成对交换链表中的元素
2.8 复杂链表复制算法
2.9 关于链表环的相关问题
3. 字符串
3.1 判断字符串是否为回文结构
3.2 实现strStr()函数,查找子串位置
3.3 将字符串转换成整数(atoi)
3.4 对二进制树进行相加操作
3.5 最长回文子串的寻找方法
3.6 正则表达式匹配问题[难度为hard]
3.7 实现正则匹配功能
3.8 查找最长公共前缀字符串
3.9 验证给定字符串是否符合数字格式
3.10 将数字转换成罗马数字形式
3.11 罗马数字符号转为阿拉伯数字
3.12 Count and Say问题求解
3.13 判断两个单词是否是变位词
3.14 对系统路径进行简化处理
3.15 获取字符串中最后一个单词的长度
3.16 反转字符串中的单词
3.17 计算一个编辑距离
4. 栈
4.1 验证括号序列是否正确
4.2 查找最长的有效括号表达式
04-03 柱状图中最大矩形面积的查找
4.4 计算逆波兰式的值
5. 树
5.1 对二叉树进行遍历操作
5.1.1 前序、中序和后序遍历方法
5.1.2 层次顺序遍历算法
5.1.3 恢复已损坏的二叉树[难度为hard]
5.1.4 判断两棵二叉树是否相等
5.1.5 验证一棵树是不是AVL平衡树
5.1.6 将二叉树转换成链表结构
5.1.7 在二叉树中添加指向右边节点的指针
5.1.8 确定两个节点在树中的最近公共祖先
5.2 构建二叉查找树的方法
05-03 将有序数组转换为BST
05-04 把有序链表转成二叉搜索树
6. 排序
6.1 合并两个已排序的数组到一个中
6.2 合并两个已排序的链表
6.3 将K个已排序的链表合并为一
06-05 使用插入法对链表进行排序
06-06 归并排序算法应用于链表
0