/SwordOffer

《剑指offer》Java版代码实现

Primary LanguageJavaMIT LicenseMIT

《剑指offer》Java版代码

封面图片

提供多种解法以及思路,并在OJ上全都通过

目录

题号 题目及题解 测试用例
第二题 单例设计模式 测试2
第三题 二维数组中查找目标值 测试3
第四题 替换字符串中的空格 测试4
第五题 从尾到头打印链表 测试5
第六题 由前序和中序遍历重建二叉树 测试6
第七题 用两个栈实现队列 测试7
第八题 求旋转数组的最小数字 测试8
第九题 斐波那契数列的第n项(青蛙跳台阶) 测试9
第十题 二进制中1的个数 测试10
第十一题 数值的整数次方 测试11
第十二题 打印1到最大的n位数 测试12
第十三题 O(1)时间删除链表节点 测试13
第十四题 使数组中的奇数位于偶数前面 测试14
第十五题 找链表中倒数第K个节点 测试15
第十六题 反转链表 测试16
第十七题 合并两个有序链表 测试17
第十八题 判断二叉树A中是否包含子树B 测试18
第十九题 二叉树的镜像 测试19
第二十题 顺时针打印矩阵 测试20
第二十一题 包含min函数的栈 测试21
第二十二题 判断一个栈是否是另一个栈的弹出序列 测试22
第二十三题 层序遍历二叉树 测试23
第二十四题 后序遍历二叉搜索树 测试24
第二十五题 二叉树中和为某值的路径 测试25
第二十六题 复杂链表的复制 测试26
第二十七题 二叉搜索树转换为双向链表 测试27
第二十八题 打印字符串中所有字符的排列 测试28
第二十九题 数组中出现次数超过一半的数字 测试29
第三十题 找出最小的K个数 测试30
第三十一题 连续子数组的最大和 测试31
第三十二题 从1到整数n中1出现的次数 测试32
第三十三题 把数组中的数排成一个最小的数 测试33
第三十四题 求第N个丑数 测试34
第三十五题 第一个出现一次的字符 测试35
第三十六题 数组中逆序对的个数 测试36
第三十七题 两个链表的第一个公共节点 测试37
第三十八题 数字在排序数组中出现的次数 测试38
第三十九题 二叉树的深度 测试39
第四十题 数组中只出现一次的两个数,而其他数都出现两次 测试40
第四十一题 和为s的连续整数序列 测试41
第四十二题 翻转字符串 测试42
第四十三题 n个骰子的点数及出现的概率 测试43
第四十四题 扑克牌的顺子 测试44
第四十五题 圆圈中最后剩下的数 测试45
第四十六题 1+2+3+...+n的和 测试46
第四十七题 不用加减乘除做加法 测试47
第四十八题 不能被继承的类 测试48
第四十九题 字符串转换为整数 测试49
第五十题 树中两个节点的最低公共祖先 测试50
第五十一题 找出重复的数 测试51
第五十二题 构建乘积数组 测试52
第五十三题 正则表达式匹配 测试53
第五十四题 表示数值的字符串 测试54
第五十五题 字符流中第一个不重复的字符 测试55
第五十六题 链表中环的入口节点 测试56
第五十七题 删除链表中重复的节点 测试57
第五十八题 二叉树的下一个节点 测试58
第五十九题 对称的二叉树 测试59
第六十题 按之字形顺序打印二叉树 测试60
第六十一题 把二叉树打印成多行 测试61
第六十二题 序列化二叉树 测试62
第六十三题 二叉搜索树的第K个节点 测试63