算法题解: 包括书籍算法, 程序员算法面试指南, 还有leetcode算法题
    cd **/**/
    javac Test.java
    java Testleetcode主要是从leetcode-cn上的题目, 都有中文翻译, 有些官方题解都有中文翻译.
题目的题解以及思路都在代码里注释了.
| ID | problem | 题目 | 官方题解 | 代码 | 
|---|---|---|---|---|
| 2 | Add Two Numbers | 两数相加 | 官方题解 | Java | 
| 328 | odd-even-linked-list | 奇偶链表 | 无官方题解 | Java | 
| 94 | binary-tree-inorder-traversal | 中序遍历二叉树 | 无官方题解 | Java | 
| 104 | maximum-depth-of-binary-tree | 二叉树的最大深度 | 无官方题解 | Java | 
| 105 | construct-binary-tree-from-preorder-and-inorder-traversal | 从前序与中序遍历序列构造二叉树 | 无官方题解 | Java | 
| 106 | construct-binary-tree-from-inorder-and-postorder-traversal | 从中序与后序遍历序列构造二叉树 | 无官方题解 | Java | 
| 116 | populating-next-right-pointers-in-each-node | 填充同一层的兄弟节点 | 无官方题解 | Java | 
| 230 | kth-smallest-element-in-a-bst | 二叉搜索树中第K小的元素 | 无官方题解 | Java | 
| 200 | number-of-islands | 岛屿的个数 | 官方题解 | Java | 
| 17 | letter-combinations-of-a-phone-number | 电话号码的字母组合 | 官方题解 | Java | 
| 22 | generate-parentheses | 生成括号 | 官方题解 | Java | 
| 46 | permutations | 全排列 | 官方题解 | Java | 
| 78 | subsets | 子集 | 官方题解 | Java | 
| 90 | subsets-ii | 子集II | 官方题解 | Java | 
| 79 | word-search | 单词搜索 | 官方题解 | Java | 
| 75 | sort-colors | 颜色分类 | 官方题解 | Java | 
| 347 | top-k-frequent-elements | 前k个高频元素 | 官方题解 | Java | 
| 215 | kth-largest-element-in-an-array | 数组中的第K个最大元素 | 官方题解 | Java | 
| 162 | find-peak-element | 寻找峰值 | 官方题解 | Java | 
| 162 | find-first-and-last-position-of-element-in-sorted-array | 在排序数组中查找元素的第一个和最后一个位置 | 官方题解 | Java | 
| 56 | merge-intervals | 合并区间 | 官方题解 | Java | 
| 56 | search-in-rotated-sorted-array | 搜索旋转排序数组 | 官方题解 | Java | 
| 240 | search-a-2d-matrix-ii | 搜索二维矩阵II | 官方题解 | Java | 
| 55 | jump-game | 跳跃游戏 | 官方题解 | Java | 
| 62 | unique-paths | 不同路径 | 官方题解 | Java | 
| 322 | coin-change | 零钱兑换 | 官方题解 | Java | 
| 518 | coin-change-2 | 零钱兑换 II | 官方题解 | Java | 
| 300 | longest-increasing-subsequence | 最长上升子序列 | 官方题解 | Java | 
| 297 | serialize-and-deserialize-binary-tree | 二叉树的序列化与反序列化](https://leetcode-cn.com/problems/serialize-and-deserialize-binary-tree/) | 官方题解 | Java | 
| 380 | insert-delete-getrandom-o(1) | 常数时间插入、删除和获取随机元素 | 官方题解 | Java | 
| 202 | happy-number | 快乐数 | 官方题解 | Java | 
| 172 | factorial-trailing-zeroes | 阶乘后的零 | 官方题解 | Java | 
| 171 | excel-sheet-column-number | Excel表列序号 | 官方题解 | Java | 
| 50 | Pow(x, n) | Pow(x, n) | 官方题解 | Java | 
| 69 | sqrtx | x 的平方根 | 官方题解 | Java | 
| 29 | divide-two-integers | 两数相除 | 官方题解 | Java | 
| 166 | fraction-to-recurring-decimal | 分数到小数 | 官方题解 | Java | 
| 371 | sum-of-two-integers | 两整数之和 | 官方题解 | Java | 
| 150 | evaluate-reverse-polish-notation | 逆波兰表达式求值 | 官方题解 | Java | 
| 169 | majority-element | 求众数 | 官方题解 | Java | 
| 621 | Task Scheduler | 任务调度器 | 官方题解 | Java | 
| 238 | Product of Array Except Self | 除自身以外数组的乘积 | 官方题解 | Java | 
| 54 | spiral-matrix | 螺旋矩阵 | 官方题解 | Java | 
| 11 | container-with-most-water | 盛最多水的容器 | 官方题解 | Java | 
| 454 | 4sum-ii | 四数相加 II | 官方题解 | Java | 
| 289 | game-of-life | 生命游戏 | 官方题解 | Java | 
| 41 | first-missing-positive | 缺失的第一个正数 | 官方题解 | Java | 
| 128 | longest-consecutive-sequence | 最长连续序列 | 官方题解 | Java | 
| 287 | find-the-duplicate-number | 寻找重复数 | 官方题解 | Java | 
| 227 | basic-calculator-ii | 基本计算器 II | 官方题解 | Java | 
| 239 | sliding-window-maximum | 滑动窗口最大值 | 官方题解 | Java | 
| 76 | minimum-window-substring | 最小覆盖子串 | 官方题解 | Java | 
| 23 | merge-k-sorted-lists | 合并K个排序链表 | 官方题解 | Java | 
| 148 | sort-list | 排序链表 | 官方题解 | Java | 
| 127 | word-ladder | 单词接龙 | 官方题解 | Java | 
| 236 | lowest-common-ancestor-of-a-binary-tree | 二叉树的最近公共祖先 | 官方题解 | Java | 
| 124 | binary-tree-maximum-path-sum | 二叉树中的最大路径和 | 官方题解 | Java | 
| 131 | palindrome-partitioning | 分割回文串 | 官方题解 | Java |