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