2019-04-25 18:24:51 +08:00
|
|
|
# 目录
|
|
|
|
|
2019-11-02 12:07:41 +08:00
|
|
|
|
2019-11-30 23:44:22 +08:00
|
|
|
- [3. 数组中重复的数字](3.%20数组中重复的数字.md)
|
|
|
|
- [4. 二维数组中的查找](4.%20二维数组中的查找.md)
|
|
|
|
- [5. 替换空格](5.%20替换空格.md)
|
|
|
|
- [6. 从尾到头打印链表](6.%20从尾到头打印链表.md)
|
|
|
|
- [7. 重建二叉树](7.%20重建二叉树.md)
|
|
|
|
- [8. 二叉树的下一个结点](8.%20二叉树的下一个结点.md)
|
|
|
|
- [9. 用两个栈实现队列](9.%20用两个栈实现队列.md)
|
|
|
|
- [10.1 斐波那契数列](10.1%20斐波那契数列.md)
|
|
|
|
- [10.2 矩形覆盖](10.2%20矩形覆盖.md)
|
|
|
|
- [10.3 跳台阶](10.3%20跳台阶.md)
|
|
|
|
- [10.4 变态跳台阶](10.4%20变态跳台阶.md)
|
|
|
|
- [11. 旋转数组的最小数字](11.%20旋转数组的最小数字.md)
|
|
|
|
- [12. 矩阵中的路径](12.%20矩阵中的路径.md)
|
|
|
|
- [13. 机器人的运动范围](13.%20机器人的运动范围.md)
|
|
|
|
- [14. 剪绳子](14.%20剪绳子.md)
|
|
|
|
- [15. 二进制中 1 的个数](15.%20二进制中%201%20的个数.md)
|
|
|
|
- [16. 数值的整数次方](16.%20数值的整数次方.md)
|
|
|
|
- [17. 打印从 1 到最大的 n 位数](17.%20打印从%201%20到最大的%20n%20位数.md)
|
|
|
|
- [18.1 在 O(1) 时间内删除链表节点](18.1%20在%20O(1)%20时间内删除链表节点.md)
|
|
|
|
- [18.2 删除链表中重复的结点](18.2%20删除链表中重复的结点.md)
|
|
|
|
- [19. 正则表达式匹配](19.%20正则表达式匹配.md)
|
|
|
|
- [20. 表示数值的字符串](20.%20表示数值的字符串.md)
|
|
|
|
- [21. 调整数组顺序使奇数位于偶数前面](21.%20调整数组顺序使奇数位于偶数前面.md)
|
|
|
|
- [22. 链表中倒数第 K 个结点](22.%20链表中倒数第%20K%20个结点.md)
|
|
|
|
- [23. 链表中环的入口结点](23.%20链表中环的入口结点.md)
|
|
|
|
- [24. 反转链表](24.%20反转链表.md)
|
|
|
|
- [25. 合并两个排序的链表](25.%20合并两个排序的链表.md)
|
|
|
|
- [26. 树的子结构](26.%20树的子结构.md)
|
|
|
|
- [27. 二叉树的镜像](27.%20二叉树的镜像.md)
|
|
|
|
- [28. 对称的二叉树](28.%20对称的二叉树.md)
|
|
|
|
- [29. 顺时针打印矩阵](29.%20顺时针打印矩阵.md)
|
|
|
|
- [30. 包含 min 函数的栈](30.%20包含%20min%20函数的栈.md)
|
|
|
|
- [31. 栈的压入、弹出序列](31.%20栈的压入、弹出序列.md)
|
|
|
|
- [32.1 从上往下打印二叉树](32.1%20从上往下打印二叉树.md)
|
|
|
|
- [32.2 把二叉树打印成多行](32.2%20把二叉树打印成多行.md)
|
|
|
|
- [32.3 按之字形顺序打印二叉树](32.3%20按之字形顺序打印二叉树.md)
|
|
|
|
- [33. 二叉搜索树的后序遍历序列](33.%20二叉搜索树的后序遍历序列.md)
|
|
|
|
- [34. 二叉树中和为某一值的路径](34.%20二叉树中和为某一值的路径.md)
|
|
|
|
- [35. 复杂链表的复制](35.%20复杂链表的复制.md)
|
|
|
|
- [36. 二叉搜索树与双向链表](36.%20二叉搜索树与双向链表.md)
|
|
|
|
- [37. 序列化二叉树](37.%20序列化二叉树.md)
|
|
|
|
- [38. 字符串的排列](38.%20字符串的排列.md)
|
|
|
|
- [39. 数组中出现次数超过一半的数字](39.%20数组中出现次数超过一半的数字.md)
|
|
|
|
- [40. 最小的 K 个数](40.%20最小的%20K%20个数.md)
|
|
|
|
- [41.1 数据流中的中位数](41.1%20数据流中的中位数.md)
|
|
|
|
- [41.2 字符流中第一个不重复的字符](41.2%20字符流中第一个不重复的字符.md)
|
|
|
|
- [42. 连续子数组的最大和](42.%20连续子数组的最大和.md)
|
|
|
|
- [43. 从 1 到 n 整数中 1 出现的次数](43.%20从%201%20到%20n%20整数中%201%20出现的次数)
|
|
|
|
- [44. 数字序列中的某一位数字](44.%20数字序列中的某一位数字.md)
|
|
|
|
- [45. 把数组排成最小的数](45.%20把数组排成最小的数.md)
|
|
|
|
- [46. 把数字翻译成字符串](46.%20把数字翻译成字符串.md)
|
|
|
|
- [47. 礼物的最大价值](47.%20礼物的最大价值.md)
|
|
|
|
- [48. 最长不含重复字符的子字符串](48.%20最长不含重复字符的子字符串.md)
|
|
|
|
- [49. 丑数](49.%20丑数.md)
|
|
|
|
- [50. 第一个只出现一次的字符位置](50.%20第一个只出现一次的字符位置.md)
|
|
|
|
- [51. 数组中的逆序对](51.%20数组中的逆序对.md)
|
|
|
|
- [52. 两个链表的第一个公共结点](52.%20两个链表的第一个公共结点.md)
|
|
|
|
- [53. 数字在排序数组中出现的次数](53.%20数字在排序数组中出现的次数.md)
|
|
|
|
- [54. 二叉查找树的第 K 个结点](54.%20二叉查找树的第%20K%20个结点.md)
|
|
|
|
- [55.1 二叉树的深度](55.1%20二叉树的深度.md)
|
|
|
|
- [55.2 平衡二叉树](55.2%20平衡二叉树.md)
|
|
|
|
- [56. 数组中只出现一次的数字](56.%20数组中只出现一次的数字.md)
|
|
|
|
- [57.1 和为 S 的两个数字](57.1%20和为%20S%20的两个数字.md)
|
|
|
|
- [57.2 和为 S 的连续正数序列](57.2%20和为%20S%20的连续正数序列.md)
|
|
|
|
- [58.1 翻转单词顺序列](58.1%20翻转单词顺序列.md)
|
|
|
|
- [58.2 左旋转字符串](58.2%20左旋转字符串.md)
|
|
|
|
- [59. 滑动窗口的最大值](59.%20滑动窗口的最大值.md)
|
|
|
|
- [60. n 个骰子的点数](60.%20n%20个骰子的点数.md)
|
|
|
|
- [61. 扑克牌顺子](61.%20扑克牌顺子.md)
|
|
|
|
- [62. 圆圈中最后剩下的数](62.%20圆圈中最后剩下的数.md)
|
|
|
|
- [63. 股票的最大利润](63.%20股票的最大利润.md)
|
|
|
|
- [64. 求 1+2+3+...+n](64.%20求%201+2+3+...+n.md)
|
|
|
|
- [65. 不用加减乘除做加法](65.%20不用加减乘除做加法.md)
|
|
|
|
- [66. 构建乘积数组](66.%20构建乘积数组.md)
|
|
|
|
- [67. 把字符串转换成整数](67.%20把字符串转换成整数.md)
|
|
|
|
- [68. 树中两个节点的最低公共祖先](68.%20树中两个节点的最低公共祖先.md)
|
2019-04-25 18:24:51 +08:00
|
|
|
|
2020-05-27 00:44:06 +08:00
|
|
|
# 参考文献
|
|
|
|
|
|
|
|
何海涛. 剑指 Offer[M]. 电子工业出版社, 2012.
|
|
|
|
|
2019-04-25 18:24:51 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-28 00:25:00 +08:00
|
|
|
|
|
|
|
|
2019-11-02 17:33:10 +08:00
|
|
|
<div align="center"><img width="320px" src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/githubio/公众号二维码-2.png"></img></div>
|