# Python-Offer **Repository Path**: amgoole/Python-Offer ## Basic Information - **Project Name**: Python-Offer - **Description**: 《剑指Offer》面试题Python实现 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-07-11 - **Last Updated**: 2021-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 《剑指Offer》面试题: Python实现 ## 第2章 [面试基础知识](/second) ### 2.2 [编程语言](/second/second) > #### 面试题2 [使用Python实现单例模式](./second#面试题2-使用Python实现单例模式) ### 2.3 [数据结构](/second/third) > #### 面试题3 [二维数组中的查找](./second/third#面试题3-二维数组中的查找) > #### 面试题4 [替换空格](/second/third#面试题4-替换空格) > #### 面试题5 [从尾到头打印单链表](/second/third#面试题5-从尾到头打印单链表) > #### 面试题6 [重建二叉树](/second/third#面试题6-重建二叉树) > #### 面试题7 [用两个栈实现队列](/second/third#面试题7-用两个栈实现队列) ### 2.4 [算法和数据操作](/second/fourth) > #### 面试题8 [旋转数组的最小数字](./second/fourth#面试题8-旋转数组的最小数字) > #### 面试题9 [斐波那契数列](./second/fourth#面试题9-斐波那契数列) > #### 面试题10 [二进制中1的个数](./second/fourth#面试题10-二进制中1的个数) ## 第3章 [高质量代码](/third) ### 3.3 [代码的完整性](/third/third) > #### 面试题11 [数值的整数次方](./third/third#面试题11-数值的整数次方) > #### 面试题12 [打印1到最大的n位数](./third/third#面试题12-打印1到最大的n位数) > #### 面试题13 [O(1)时间删除链表结点](./third/third#面试题13-o1时间删除链表结点) > #### 面试题14 [调整数组顺序使寄数位于偶数前面](./third/third#面试题14-调整数组顺序使奇数位于偶数前面) ### 3.4 [代码的鲁棒性](/third/fourth) > #### 面试题15 [链表中倒数第k个结点](./third/fourth#面试题15-链表中倒数第k个结点) > #### 面试题16 [反转链表](./third/fourth#面试题16-反转链表) > #### 面试题17 [合并两个排序的链表](./third/fourth#面试题17-合并两个排序的链表) > #### 面试题18 [树的子结构](./third/third#面试题18-树的子结构) ## 第4章 [解决面试题思路](/fourth) ### 4.2 [画图让抽象问题形象化](./fourth/second) > #### 面试题19 [二叉树的镜像](./fourth/second#面试题19-二叉树的镜像) > #### 面试题20 [顺时针打印矩阵](./fourth/second#面试题20-顺时针打印矩阵) ### 4.3 [举例让抽象问题具体化](./fourth/third) > #### 面试题21 [包含min函数的栈](./fourth/third#面试题21-包含min函数的栈) > #### 面试题22 [栈的压入弹出序列](./fourth/third#面试题22-栈的压入弹出序列) > #### 面试题23 [从上往下打印二叉树](./fourth/third#面试题23-从上往下打印二叉树) > #### 面试题24 [二叉树的后序遍历序列](./fourth/third#面试题24-二叉搜索树的后序遍历序列) > #### 面试题25 [二叉树中和为某一值的路径](./fourth/third#面试题25-二叉树中和为某一值的路径) ### 4.4 [分解让复杂问题简单化](./fourth/fourth) > #### 面试题26 [复杂链表的复制](./fourth/fourth#面试题26-复杂链表的复制) > #### 面试题27 [二叉搜索树与双向链表](./fourth/fourth#面试题27-二叉搜索树与双向链表) > #### 面试题28 [字符串的排列](./fourth/fourth#面试题28-字符串的排列) ## 第5章 [优化时间和空间效率](./fifth) ### 5.2 [时间效率](./fifth/second) > #### 面试题29 [数组中出现次数超过一半的数字](./fifth/second#面试题29-数组中出现次数超过一半的数字) > #### 面试题30 [最小的k个数](./fifth/second#面试题30-最小的k个数) > #### 面试题31 [连续子数组的最大和](./fifth/second#面试题31-连续子数组的最大和) > #### 面试题32 [从1到n整数中1出现的次数](./fifth/second#面试题32-从1到n整数中1出现的次数) > #### 面试题33 [把数组排成最小的数](./fifth/second#面试题33-把数组排成最小的数) ### 5.3 [时间效率与空间效率的平衡](./fifth/third) > #### 面试题34 [丑数](./fifth/third#面试题34-丑数) > #### 面试题35 [第一个只出现一次的字符](./fifth/third#面试题35-第一个只出现一次的字符) > #### 面试题36 [数组中的逆序对](./fifth/third#面试题36-数组中的逆序对) > #### 面试题37 [两个链表的第一个公共结点](./fifth/third#面试题37-两个链表的第一个公共结点) ## 第6章 [面试能力](/sixth) ### 6.3 [知识迁移能力](./sixth/third) > #### 面试题38 [数字在排序数组中出现的次数](./sixth/third#面试题38-数字在排序数组中出现的次数) > #### 面试题39 [二叉树的深度](./sixth/third#面试题39-二叉树的深度) > #### 面试题40 [数组中只出现一次的数字](./sixth/third#面试题40-数组中只出现一次的数字) > #### 面试题41 [和为s的两个数字VS和为s的连续正数序列](./sixth/third#面试题41-和为s的两个数字vs和为s的连续正数序列) > #### 面试题42 [翻转单词顺序与左旋转字符串](./sixth/third#面试题42-翻转单词顺序与左旋转字符串) ### 6.4 [抽象建模能力](./sixth/fourth) > #### 面试题43 [n个骰子的点数](./sixth/fourth#面试题43-n个骰子的点数) > #### 面试题44 [扑克牌的顺子](./sixth/fourth#面试题44-扑克牌的顺子) > #### 面试题45 [圆圈中最后剩下的数字](./sixth/fourth#面试题45-圆圈中最后剩下的数字) ### 6.5 [发散思维能力](./sixth/fifth) > #### 面试题46 [求1+2...+n](./sixth/fifth#面试题46-求1+2...+n) > #### 面试题47 [不用加减乘除做加法](./sixth/fifth#面试题47-不用加减乘除做加法) > #### 面试题48 [不能被继承的类](./sixth/fifth#面试题48-不能被继承的类) ## 第7章 [面试案例](./seventh) ### 7.1 [案例一](./seventh/first) > #### 面试题49 [把字符串转化成整数](./seventh/first#面试题49-把字符串转化成整数) ### 7.2 [案例二](./seventh/second) > #### 面试题50 [树中两个结点的最低公共祖先](./seventh/second#面试题50-树中两个结点的最低公共祖先)