剑指Offer刷题目录 数 组 题目一:有序二维数组检索数据>>> 题目二:数组中重复数据的查找>>> 题目三:构建乘积数组>>> 题目四:顺序打印矩阵>>> 题目五:连续子数组的最大和>>> 题目六:超过数组一般的数>>> 题目七:最小的k个数>>> 题目八:整数中1出现的次数>>> 题目九:把数组排成最小的数>>> 题目十:丑数>>> 题目十一:第一个只出现一次的字符>>> 题目十二:数组中的逆序对>>> 题目十三:数字在排序数组中出现的次数>>> 字符串 题目一:字符串空字符替换>>> 题目二:字符串正则表达式匹配 (重点看)>>> 题目三:表示数值的字符串>>> 题目四: 字符流中第一个 不重复 的字符 题目五:字符串的全排列>>> 链 表 题目一:从尾到头打印链表>>> 题目二:找出链表中环的入口节点>> 题目三: 删除链表中重复节点>>> 题目四:反转链表>>> 题目五:链表中倒数第k个节点>>> 题目六:合并两个有序链表 题目七:复杂链表的复制>>> 题目八:两个链表中的第一个公共节点>>> 栈与队列 题目一:栈实现队列>>> 题目二:队列中的最大值(滑动窗口)>>> 题目三:包含min函数的栈(求栈中最小的值>>>) 题目四:栈的压入、弹出序列>>> 树 题目一:重建二叉树>>> 题目二:二叉树的下一个节点>>> 题目三:对称的二叉树>>> 题目四:按之字形顺序打印二叉树>>> 题目五:把二叉树打印成多行>>> 题目:从上往下打印二叉树 题目六:二叉树的序列化和反序列化 题目七:二叉搜索树的第k个结点 题目八:数据流中的中位数 题目十:二叉树的镜像>>> 题目十一:判断是否为树的子结构 题目十二:二叉搜索树的后序遍历序列>>> 题目十三:二叉搜索树与双向链表>>> 题目十四:二叉树中和为某一值的路径>>> 题目十五:二叉树的深度>>> 题目十六:判断二叉树是否为平衡二叉树>>> 查找 题目一:旋转数组中最小值>>> 递归与动态规划 题目一:费布那切数列>>>> 题目二:爬台阶>>> 题目三:爬台阶(变态版) 题目四:矩形覆盖>>> 调整数组顺序,使得奇数位于偶数之前>>> 数值的整数次方>>> 二进制中1的个数>>>