剑指Offer Python题解

offer-coding-interviews-python

记录个人的剑指offer python题解

在线阅读请戳这里

现已添加PDF版,离线阅读也ok~

在线编码可以去牛客网专区

本仓库只收录了Python语言的题解和题目的简单分析,仅供学习交流使用,更多关于面试的知识、算法题的思路,以及一些题目的详细解答和推导,还请参阅《剑指Offer》这本书,多多支持下原作者。

目录

本repo按照博客的来组织,几个题合成一篇。

第1篇

| 数组 | 二维数组中的查找

第2篇

| 字符串 | 替换空格

| 链表 | 从尾到头打印链表

第3篇

| 树 | 重建二叉树

| 栈和队列 | 用两个栈实现队列

| 查找和排序 | 旋转数组的最小数字

第4篇

| 递归和循环 | 斐波那契数列

| 递归和循环 | 跳台阶

| 递归和循环 | 变态跳台阶

| 递归和循环 | 矩形覆盖

第5篇

| 位运算 | 二进制中1的个数

| 代码的完整性 | 数值的整数次方

| 代码的完整性 | 调整数组顺序使奇数位于偶数前面

第6篇

| 代码的鲁棒性 | 链表中倒数第k个结点

| 代码的鲁棒性 | 反转链表

| 代码的鲁棒性 | 合并两个排序的链表

| 代码的鲁棒性 | 树的子结构

第7篇

| 面试思路 | 二叉树的镜像

| 画图让抽象形象化 | 顺时针打印矩阵

| 举例让抽象具体化 | 包含min函数的栈

| 举例让抽象具体化 | 栈的压入、弹出序列

| 举例让抽象具体化 | 从上往下打印二叉树

| 举例让抽象具体化 | 二叉搜索树的后序遍历序列

| 举例让抽象具体化 | 二叉树中和为某一值的路径

第8篇

| 分解让复杂问题简单 | 复杂链表的复制

| 分解让复杂问题简单 | 二叉搜索树与双向链表

| 分解让复杂问题简单 | 字符串的排列

第9篇

| 时间效率 | 数组中出现次数超过一半的数字

| 时间效率 | 最小的K个数

| 时间效率 | 连续子数组的最大和

| 时间效率 | 整数中1出现的次数(从1到n整数中1出现的次数)

| 时间效率 | 把数组排成最小的数

第10篇

| 时间空间效率的平衡 | 丑数

| 时间空间效率的平衡 | 第一个只出现一次的字符位置

| 时间空间效率的平衡 | 数组中的逆序对

| 时间空间效率的平衡 | 两个链表的第一个公共结点

第11篇

| 知识迁移能力 | 数字在排序数组中出现的次数

| 知识迁移能力 | 二叉树的深度

| 知识迁移能力 | 平衡二叉树

| 知识迁移能力 | 数组中只出现一次的数字

| 知识迁移能力 | 和为S的连续正数序列

| 知识迁移能力 | 和为S的两个数字

第12篇

| 知识迁移能力 | 左旋转字符串

| 知识迁移能力 | 翻转单词顺序列

| 抽象建模能力 | 扑克牌顺子

| 抽象建模能力 | 孩子们的游戏(圆圈中最后剩下的数)

| 发散思维能力 | 求1+2+3+…+n

| 发散思维能力 | 不用加减乘除做加法

第13篇

| 综合 | 把字符串转换成整数

| 数组 | 数组中重复的数字

| 数组 | 构建乘积数组

| 字符串 | 正则表达式匹配

| 字符串 | 表示数值的字符串

| 字符串 | 字符流中第一个不重复的字符

| 链表 | 链表中环的入口结点

| 链表 | 删除链表中重复的结点

第14篇

| 树 | 二叉树的下一个结点

| 树 | 对称的二叉树

| 树 | 按之字形顺序打印二叉树

| 树 | 把二叉树打印成多行

| 树 | 序列化二叉树

| 树 | 二叉搜索树的第k个结点

| 树 | 数据流中的中位数

第15篇

| 栈和队列 | 滑动窗口的最大值

| 回溯法 | 矩阵中的路径

| 回溯法 | 机器人的运动范围

notes

如有遗漏错误,欢迎指正