此项目中的demo都是对《剑指offer》书中的算法题目的java实现。通过动手实践,加深对数据结构和算法的理解。同时如果也有正在研读《剑指offer》的同学,希望对我的代码提一些改进意见,有兴趣一起交流的同学可以加我的QQ 290464784
- 二维数组中的查找
- 从尾到头打印链表
- 重建二叉树
- 两个栈实现队列效果,两个队列实现栈的效果
- 快速排序
- 旋转数组查最小值
- 二进制中1的个数
- 数值的整数次方
- 打印1到最大的n位数
- 奇偶互换
- 链表中倒数n个节点
- 反转链表
- 合并两个排序的链表
- 树的子节点
- 二叉树的镜像
- 顺时针打印数组
- 包含min函数的栈
- 栈的压入,弹出序列
- 从上往下打印二叉树
- 二叉树的后续遍历序列
- 类似LinkedHashMap的LRU算法简单实现 非书中的题目
- 二叉树中和为某一值的路径
- 复杂链表的复制
- 二叉搜索熟转换成双向链表
- 数组的全排列
- 数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字 方法二
- 最小的k个数字
- 求连续数组的最大和
- 丑数
- 第一个只出现一次的字符
- 两个链表的公共节点
- 数字在排序数组中出现的次数
- 二叉树深度
- 数组中只出现一次的数字
- 在一个递增数组中,找两个和为s的数
- 反转单词顺序
- n个骰子的点数