Java版常见的算法和数据结构(主要来源于LeetCode、剑指offer以及自己遇到的一些面试题)
- 二分查找
BinarySearch - 统计字符串出现的次数
CountString - 归并排序
MergeSort - 替换空格
ReplaceSpace - 反转字符串
ReverseStr - 二维数组的查找
TwoDimensionalArray - Two Sum
TwoSum - 两个栈实现一个队列
MyQuene - 查找第一个只出现一次的字符
FirstNotRepeatingChar - 二叉树的深度
DepthOfBinaryTree - 合并两个有序的单链表
MergeNode - 反转单链表
ReverseLinkedList - 连续子数组的最大和
FindGreatestSumOfSubArray - 调整数组顺序使奇数位于偶数的前面
ReviseArrayOrder - 求两个单链表的第一个公共结点
FindFirstCommonNode - 从尾到头打印链表
PrintListFromTailToHead - 字符串压缩
CompressString - 反转二叉树
invertBinaryTree - 逆波兰表达式求值
EvalRPN - 旋转数组的搜索
RotateArraySearch - 二叉树中序遍历
InorderTraversal - 反转从m到n区间内的链表
ReverseBetween - 合并两个有序的单链表
MergeTwoLists - 二叉树的层次遍历
LevelOrder - 求二叉树最大深度
MaxDepth - 求两个单链表相交的交点
GetIntersectionNode - 反转二叉树
InvertBinaryTree - 反转从m到n区间内的链表
ReverseBetween