《剑指Offer》是算法面试类书籍中的明星,在牛客网上有其中大部分的题目,整理这个列表,以做为总结。
最近刷了不少题,感觉水平也确实提高了一些。今后可能不会花太多时间用在刷题上了。
目前完成数量(牛客网计数):67/67,对应剑指Offer书中共计58道题目。
原书中是C++实现的,在github上有java实现的,本文中均以python语言实现。
多数题目是我个人理解,不一定是最优方案,部分题目参考了github上的高手的代码。
剑指Offer 01 赋值运算符函数
剑指Offer 02 实现Singleton模式
剑指Offer 03 数组中重复的数字
剑指Offer 04 二维数组中的查找
剑指Offer 05 替换空格
剑指Offer 06 从尾到头打印链表
剑指Offer 07 重建二叉树
剑指Offer 08 二叉树的下一个节点
剑指Offer 09 用两个栈实现队列
剑指Offer 10 斐波那契数列
剑指Offer 11 旋转数组的最小数字
剑指Offer 12 矩阵中的路径
剑指Offer 13 机器人的运动范围
剑指Offer 14 剪绳子
剑指Offer 15 二进制中1的个数
剑指Offer 16 数值的整数次方
剑指Offer 17 打印从1到最大的n位数
剑指Offer 18 删除链表的节点
剑指Offer 19 正则表达式匹配
剑指Offer 20 表示数值的字符串
剑指Offer 21 调整数组顺序使奇数位于偶数前面
剑指Offer 22 链表中倒数第k个节点
剑指Offer 23 链表中环的入口节点
剑指Offer 24 反转链表
剑指Offer 25 合并两个排序的链表
剑指Offer 26 树的子结构
剑指Offer 27 二叉树的镜像
剑指Offer 28 对称的二叉树
剑指Offer 29 顺时针打印矩阵
剑指Offer 30 包含min函数的栈
剑指Offer 31 栈的压入、弹出序列
剑指Offer 32 从上到下打印二叉树
剑指Offer 33 二叉搜索树的后序遍历序列
剑指Offer 34 二叉树中和为某一值的路径
剑指Offer 35 复杂链表的复制
剑指Offer 36 二叉搜索树与双向链表
剑指Offer 37 序列化二叉树
剑指Offer 38 字符串的排列
剑指Offer 39 数组中出现次数超过一半的数字
剑指Offer 40 最小的k个数
剑指Offer 41 数据流中的中位数
剑指Offer 42 连续子数组的最大和
剑指Offer 43 1~n整数中1出现的次数
剑指Offer 44 数字序列中某一位的数字
剑指Offer 45 把数组排成最小的数
剑指Offer 46 把数字翻译成字符串
剑指Offer 47 礼物的最大价值
剑指Offer 48 最长不含重复字符的子字符串
剑指Offer 49 丑数
剑指Offer 50 第一个只出现一次的字符
剑指Offer 51 数组中的逆序对
剑指Offer 52 两个链表的第一个公共节点
剑指Offer 53 在排序数组中查找数字
剑指Offer 54 二叉搜索树的第k大节点
剑指Offer 55 二叉树的深度
剑指Offer 56 数组中数字出现的次数
剑指Offer 57 和为s的数字
剑指Offer 58 翻转字符串
剑指Offer 59 队列的最大值
剑指Offer 60 n个骰子的点数
剑指Offer 61 扑克牌中的顺子
剑指Offer 62 圆圈中最后剩下的数字
剑指Offer 63 股票的最大利润
剑指Offer 64 求1+2+...+n
剑指Offer 65 不用加减乘除做加法
剑指Offer 66 构建乘积数组
剑指Offer 67 把字符串转换成整数
剑指Offer 68 树中两个节点的最低公共祖先