CodingInterviews Solutions 剑指Offer题解 Content Directory # Title Solution 1 赋值运算符函数 C++ 2 实现Singleton模式 C++ 3_1 找出数组中重复的数字 C++ 3_2 不修改数组找出数组中重复的数字 C++ 4 二维数组中的查找 C++ 5 替换空格 C++ 6 从尾到头打印链表 C++ 7 重建二叉树 C++ 8 二叉树的下一个结点 C++ 9 用两个栈实现队列 C++ 10 斐波那契数列 C++ 11 旋转数组的最小数字 C++ 12 矩阵中的路径 C++ 13 机器人的运动范围 C++ 14 剪绳子 C++ 15 二进制中1的个数 C++ 16 数值的整数次方 C++ 17 [打印从1到最大的n位数] C++ 18_1 在O(1)时间内删除链表节点 C++ 18_2 删除链表中重复的节点 C++ 19 正则表达式匹配 C++ 20 表示数值的字符串 C++ 21 调整数组顺序使奇数位于偶数前面 C++ 22 链表中倒数第k个节点 C++ 23 链表中环的入口节点 C++ 24 反转链表 C++ 25 合并两个排序的链表 C++ 26 树的子结构 C++ 27 二叉树的镜像 C++ 28 对称的二叉树 C++ 29 顺时针打印矩阵 C++ 30 包含min函数的栈 C++ 31 栈的压入、弹出序列 C++ 32_1 不分行从上到下打印二叉树 C++ 32_2 分行从上到下打印二叉树 C++ 32_3 之字形打印二叉树 C++ 33 二叉搜索树的后序遍历序列 C++ 34 二叉树中和为某一值的路径 C++ 35 复杂链表的复制 C++ 36 二叉搜索树与双向链表 C++ 37 序列化二叉树 C++ 38 字符串的排列 C++ 39 数组中出现次数超过一半的数字 C++ 40 最小的k个数 C++ 41 数据流中的中位数 C++ 42 连续子数组的最大和 C++ 43 1~n整数中1出现的次数 C++ 44 数字序列中某一位的数字 C++ 45 把数组排成最小的数 C++ 46 把数字翻译成字符串 C++ 47 礼物的最大价值 C++ 48 最长不含重复字符的子字符串 C++ 49 丑数 C++ 50_1 字符串中第一个只出现一次的字符 C++ 50_2 字符流中第一个只出现一次的字符 C++ 51 数组中的逆序对 C++ 52 两个链表的第一个公共节点 C++ 53_1 数字在排序数组中出现的次数 C++ 53_2 0 ~ n - 1中缺失的数字 C++ 53_3 数组中数值和下标相等的元素 C++ 54 二叉搜索树的第K小节点 C++ 55_1 二叉树的深度 C++ 55_2 平衡二叉树 C++ 56_1 数组中只出现一次的两个数字 C++ 56_2 数组中唯一只出现一次的数字 C++ 57_1 和为s的两个数字 C++ 57_2 和为s的连续正数序列 C++ 58_1 翻转单词顺序 C++ 58_2 左旋转字符串 C++ 59_1 滑动窗口的最大值 C++ 59_2 队列的最大值 C++ 60 n个骰子的点数 C++ 61 扑克牌中的顺子 C++ 62 圆圈中最后剩下的数字 C++ 63 股票的最大利润 C++ 64 求1+2+...+n C++ 65 不用加减乘除做加法 C++ 66 构建乘积数组 C++ 67 把字符串转换为整数 C++ 68 树中两个节点的最低公共祖先 C++