to-offer icon indicating copy to clipboard operation
to-offer copied to clipboard

官方剑指offer算法题个人的解法总结。

剑指offer---LeetCode算法题

这里是我个人刷的算法题,包含分析思路以及详细代码,每一道题都是leetCode官网上的剑指offer算法题。

目录导航

剑指offer(第2版)

  • 数组中重复的数字
  • 二维数组中的查找
  • 替换空格
  • 从尾到头打印链表
  • 重建二叉树
  • 用两个栈实现队列
  • 斐波那契数列
  • 青蛙跳台阶问题
  • 旋转数组的最小数字
  • 矩阵中的路径
  • 机器人的运动范围
  • 剪绳子
  • 剪绳子-二
  • 二进制中1的个数
  • 数值的整数次方
  • 打印从1到最大的n位数
  • 删除链表的节点
  • 调整数组顺序使奇数位于偶数前面
  • 链表中倒数第k个节点
  • 反转链表
  • 合并两个排序的链表
  • 树的子结构
  • 二叉树的镜像
  • 对称的二叉树
  • 顺时针打印矩阵
  • 包含min函数的栈
  • 栈的压入、弹出序列
  • 从上到下打印二叉树-1
  • 从上到下打印二叉树-2
  • 从上到下打印二叉树-3
  • 二叉搜索树的后序遍历序列
  • 二叉树中和为某一值的路径
  • 复杂链表的复制
  • 二叉搜索树与双向链表
  • 序列化二叉树
  • 字符串的排列
  • 数组中出现次数超过一半的数字
  • 最小的k个数
  • 数据流中的中位数
  • 连续子数组的最大和
  • 1 ~ n 整数中 1 出现的次数
  • 数字序列中某一位的数字
  • 把数组排成最小的数
  • 把数字翻译成字符串
  • 礼物的最大价值
  • 最长不含重复字符的子字符串
  • 丑数
  • 第一个只出现一次的字符
  • 数组中的逆序对
  • 两个链表的第一个公共节点
  • 在排序数组中查找数字
  • 0 ~ n-1中缺失的数字
  • 二叉搜索树的第k大节点
  • 二叉树的深度
  • 数组中数字出现的次数-1
  • 数组中数字出现的次数-2
  • 和为s的两个数字
  • 和为s的连续正数序列
  • 翻转单词顺序-1
  • 左旋转字符串
  • 滑动窗口的最大值-1
  • 队列的最大值
  • n个骰子的点数
  • 扑克牌中的顺子
  • 圆圈中最后剩下的数字
  • 股票的最大利润
  • 求1+2+…+n
  • 不用加减乘除做加法
  • 构建乘积数组
  • 把字符串转换成整数
  • 二叉搜索树的最近公共祖先-1
  • 二叉搜索树的最近公共祖先-2

剑指offer(专项突击版)

  • 整数除法
  • 二进制加法
  • 前 n 个数字二进制中 1 的个数
  • 只出现一次的数字
  • 单词长度的最大乘积
  • 排序数组中两个数字之和
  • 数组中和为 0 的三个数
  • 和大于等于 target 的最短子数组
  • 乘积小于 K 的子数组
  • 和为 k 的子数组
  • 0 和 1 个数相同的子数组
  • 左右两边子数组的和相等
  • 二维子矩阵的和
  • 字符串中的变位词
  • 字符串中的所有变位词
  • 含有所有字符的最短字符串
  • 有效的回文
  • 最多删除一个字符得到回文
  • 回文子字符串的个数
  • 删除链表的倒数第 n 个结点
  • 链表中环的入口节点
  • 反转链表
  • 链表中的两数相加
  • 重排链表
  • 回文链表
  • 展平多级双向链表
  • 排序的循环链表
  • 插入、删除和随机访问都是 O(1) 的容器
  • 最近最少使用缓存
  • 有效的变位词
  • 变位词组
  • 外星语言是否排序
  • 最小时间差
  • 后缀表达式
  • 小行星碰撞
  • 每日温度
  • 直方图最大矩形面积
  • 矩阵中最大的矩形
  • 滑动窗口的平均值
  • 最近请求次数
  • 往完全二叉树添加节点
  • 二叉树每层的最大值
  • 二叉树最底层最左边的值
  • 二叉树的右侧视图
  • 二叉树剪枝
  • 从根节点到叶节点的路径数字之和
  • 向下的路径节点之和
  • 节点之和最大的路径
  • 展平二叉搜索树
  • 二叉搜索树中的中序后继
  • 所有大于等于节点的值之和
  • 二叉搜索树迭代器
  • 二叉搜索树中两个节点之和
  • 值和下标之差都在给定的范围内
  • 日程表
  • 数据流的第 K 大数值
  • 出现频率最高的 k 个数字
  • 和最小的 k 个数对
  • 实现前缀树
  • 替换单词
  • 神奇的字典
  • 最短的单词编码
  • 单词之和
  • 最大的异或
  • 查找插入位置
  • 山峰数组的顶部
  • 排序数组中只出现一次的数字
  • 按权重生成随机数
  • 求平方根
  • 狒狒吃香蕉
  • 合并区间
  • 数组相对排序
  • 数组中的第k大的数字
  • 链表排序
  • 合并排序链表
  • 所有子集
  • 含有 k 个元素的组合
  • 允许重复选择元素的组合
  • 含有重复元素集合的组合
  • 没有重复元素集合的全排列
  • 含有重复元素集合的全排列
  • 生成匹配的括号
  • 分割回文子字符串
  • 复原IP
  • 爬楼梯的最少成本
  • 房屋偷盗
  • 环形房屋偷盗
  • 粉刷房子
  • 翻转字符
  • 最长斐波那契数列
  • 最少回文分割
  • 最长公共子序列
  • 字符串交织
  • 子序列的数目
  • 路径的数目
  • 最小路径之和
  • 三角形中最小路径之和
  • 分割等和子集
  • 加减的目标值
  • 最少的硬币数目
  • 排列的数目
  • 岛屿的最大面积
  • 二分图
  • 矩阵中的距离
  • 单词演变
  • 开密码锁
  • 所有路径
  • 计算除法
  • 最长递增路径
  • 课程顺序
  • 外星文字典
  • 重建序列
  • 省份数量
  • 相似的字符串
  • 多余的边
  • 最长连续序列

其它分类

  • 累加数
  • 最大加号标志
  • 获取所有钥匙的最短路径