计划完成牛客网剑指Offer习题以及LeetCode中的100+道,持续更新,剑指Offer的题主要用python,LeetCode的题会用Java。另外Android、Java岗面试必备知识点与常见面试题见[另一个仓库](https://github.com/DmrfCoder/interview),涉及Java、Android、数据库原理、操作系统、计算机网络等。

# 牛客网-剑指offer

- [二维数组中的查找](./SwordToOffer/Doc/二维数组中的查找.md)

- [替换空格](./SwordToOffer/Doc/替换空格.md)

- [从尾到头打印链表](./SwordToOffer/Doc/从尾到头打印链表.md)

- [**重建二叉树**](./SwordToOffer/Doc/重建二叉树.md)

- [用两个栈实现队列](./SwordToOffer/Doc/用两个栈实现队列.md)

- [旋转数组的最小数字](./SwordToOffer/Doc/旋转数组的最小数字.md)

- [跳台阶](./SwordToOffer/Doc/跳台阶.md)

- [**变态跳台阶**](./SwordToOffer/Doc/变态跳台阶.md)

- [***矩形覆盖***](./SwordToOffer/Doc/矩形覆盖.md)

- [二进制中1的个数](./SwordToOffer/Doc/二进制中1的个数.md)

- [***数值的整数次方***](./SwordToOffer/Doc/数值的整数次方.md)

- [调整数组顺序使奇数位于偶数前面](./SwordToOffer/Doc/调整数组顺序使奇数位于偶数前面.md)

- [链表中倒数第k**个节点**](./SwordToOffer/Doc/链表中倒数第k个节点.md)

- [反转链表](./SwordToOffer/Doc/反转链表.md)

- [合并两个排序的链表](./SwordToOffer/Doc/合并两个排序的链表.md)

- [***树的子结构***](./SwordToOffer/Doc/树的子结构.md)

- [***树的镜像***](./SwordToOffer/Doc/树的镜像.md)

- [***顺时针打印矩阵***](./SwordToOffer/Doc/顺时针打印矩阵.md)

- [***包含min函数的栈***](./SwordToOffer/Doc/包含min函数的栈.md)

- [栈的压入&弹出顺序](./SwordToOffer/Doc/栈的压入&弹出顺序.md)

- [从上往下打印二叉树](./SwordToOffer/Doc/从上往下打印二叉树.md)

- [***二叉搜索树的后序遍历***](./SwordToOffer/Doc/二叉搜索树的后序遍历.md)

- [**二叉树中和为某一数的路径**](./SwordToOffer/Doc/二叉树中和为某一数的路径.md)

- [***复杂链表的复制***](./SwordToOffer/Doc/复杂链表的复制.md)

- [二叉搜索树与双向链表](./SwordToOffer/Doc/二叉搜索树与双向链表.md)

- [字符串的排列](./SwordToOffer/Doc/字符串的排列.md)

- [***数组中出现次数超过一半的数字***](./SwordToOffer/Doc/数组中出现次数超过一半的数字.md)

- [**最小的K个数**](./SwordToOffer/Doc/最小的K个数.md)

- [**连续子数组的最大和**](./SwordToOffer/Doc/连续子数组的最大和.md)

- [把数组排成最小的数](./SwordToOffer/Doc/把数组排成最小的数.md)

- [整数中1出现的次数](./SwordToOffer/Doc/整数中1出现的次数.md)

- [***丑数***](./SwordToOffer/Doc/丑数.md)

- [第一次只出现一次的字符](./SwordToOffer/Doc/第一次只出现一次的字符.md)

- [两个链表的第一个公共节点](./SwordToOffer/Doc/两个链表的第一个公共节点.md)

- [数字在排序数组中出现的次数](./SwordToOffer/Doc/数字在排序数组中出现的次数.md)

- [二叉树的深度](./SwordToOffer/Doc/二叉树的深度.md)

- [平衡二叉树](./SwordToOffer/Doc/平衡二叉树.md)

- [***数组中只出现一次的数字***](./SwordToOffer/Doc/数组中只出现一次的数字.md)

- [和为s的连续正数序列](./SwordToOffer/Doc/和为s的连续正数序列.md)

- [和为s的两个数字](./SwordToOffer/Doc/和为s的两个数字.md)

- [左旋字符串](./SwordToOffer/Doc/左旋字符串.md)

- [翻转单词序列](./SwordToOffer/Doc/翻转单词序列.md)

- [扑克牌顺子](./SwordToOffer/Doc/扑克牌顺子.md)

- [圆圈中的最后数字](./SwordToOffer/Doc/圆圈中的最后数字.md)

- [不能用循环的1到n之和](./SwordToOffer/Doc/不能用循环的1到n之和.md)

- [***不用加减乘除做加法***](./SwordToOffer/Doc/不用加减乘除做加法.md)

- [将字符串转为整数](./SwordToOffer/Doc/将字符串转为整数.md)

- [***寻找数组中任意一个重复的数字***](./SwordToOffer/Doc/寻找数组中任意一个重复的数字.md)

- [***构建乘积数组***](./SwordToOffer/Doc/构建乘积数组.md)

- [***正则表达式匹配***](./SwordToOffer/Doc/正则表达式匹配.md)

- [***字符流中第一个不重复的字符***](./SwordToOffer/Doc/字符流中第一个不重复的字符.md)

- [***最大陆地问题***](./SwordToOffer/Doc/最大陆地问题.md)

- [***机器人的运动范围***](./SwordToOffer/Doc/机器人的运动范围.md)

- [***矩阵中的路径***](./SwordToOffer/Doc/矩阵中的路径.md)

- [滑动窗口的最大值](./SwordToOffer/Doc/滑动窗口的最大值.md)

- [***数据流的中位数***](./SwordToOffer/Doc/数据流的中位数.md)

- [***数组中的逆序对***](./SwordToOffer/Doc/数组中的逆序对.md)

- [表示数值的字符串](./SwordToOffer/Doc/表示数值的字符串.md)

- [二叉搜索树的第k个节点](./SwordToOffer/Doc/二叉搜索树的第k个节点.md)

- [序列化二叉树](./SwordToOffer/Doc/序列化二叉树.md)

- [把二叉树打印成多行(层序遍历)](./SwordToOffer/Doc/把二叉树打印成多行.md)

- [***按之字形打印二叉树***](./SwordToOffer/Doc/按之字形打印二叉树.md)

- [对称的二叉树](./SwordToOffer/Doc/对称的二叉树.md)

- [二叉树的下一个节点](./SwordToOffer/Doc/二叉树的下一个节点.md)

- [**删除有序链表中重复的节点**](./SwordToOffer/Doc/删除链表中重复的节点.md)

- [**链表中环的入口节点**](./SwordToOffer/Doc/链表中环的入口节点.md)

- [**字符流中第一个不重复的字符**](./SwordToOffer/Doc/字符流中第一个不重复的字符.md)

- [表示数字的字符串](./SwordToOffer/Doc/表示数字的字符串.md)

  

# LeetCode

- [minimum-depth-of-binary-tree(求解二叉树的最小深度)](./LeetCode/Doc/二叉树的最小深度.md)
- [evaluate-reverse-polish-notation(计算逆波兰式的值)](./LeetCode/Doc/计算逆波兰式的值.md)
- [max-points-on-a-line(同一条直线上的最多的点的数量)](./LeetCode/Doc/同一条直线上的最多的点的数量.md)
- [sort-list(排序List)](./LeetCode/Doc/排序List.md)
- [insertion-sort-list(使用插入排序对链表进行排序)](./LeetCode/Doc/使用插入排序对链表进行排序.md)
- [binary-tree-postorder-traversal(后序遍历二叉树)](./LeetCode/Doc/后序遍历二叉树.md)
- [binary-tree-preorder-traversal(先序遍历二叉树)](./LeetCode/Doc/先序遍历二叉树.md)
- [reorder-list(链表重排序)](./LeetCode/Doc/链表重排序.md)
- [linked-list-cycle-ii(找出链表中环的入口节点)](./LeetCode/Doc/找出链表中环的入口节点.md)
- [linked-list-cycle(判断链表中是否存在环)](./LeetCode/Doc/判断链表中是否存在环.md)
- [word-break(单词切分)](./LeetCode/Doc/单词切分.md)
- [word-break-ii(单词切分2)](./LeetCode/Doc/单词切分2.md)
- [copy-list-with-random-pointer(拷贝具有随机指针的链表)](./LeetCode/Doc/拷贝具有随机指针的链表.md)
- [single-number(出现一次的数)](./LeetCode/Doc/出现一次的数.md)
- [**single-number-ii(出现一次的数2)**](./LeetCode/Doc/出现一次的数2.md)
- [candy(糖果问题)](./LeetCode/Doc/糖果问题.md)
- [Gas-station(加油站问题)](./LeetCode/Doc/加油站问题.md)
- [clone-graph(图的复制)](./LeetCode/Doc/图的复制.md)