/java_algorithm

Java实现常见的数据结构和算法

Primary LanguageJava

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