Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yihonglei/thinking-in-algorithms

LeetCode Solutions
https://github.com/yihonglei/thinking-in-algorithms

algorithm algorithms algorithms-and-data-structures java leetcode leetcode-c leetcode-java leetcode-solutions

Last synced: about 6 hours ago
JSON representation

LeetCode Solutions

Awesome Lists containing this project

README

        

# 前言

1、[数据结构与算法理论和 leetcode 题目分类思维导图;](https://github.com/yihonglei/thinking-in-algorithms/tree/master/xmind)

2、Java 代码基于 JDK8 实现;

### 数据结构目录

- [数组](https://github.com/yihonglei/thinking-in-algorithms#%E6%95%B0%E7%BB%84)
- [链表](https://github.com/yihonglei/thinking-in-algorithms#%E9%93%BE%E8%A1%A8)
- [栈](https://github.com/yihonglei/thinking-in-algorithms#%E6%A0%88)
- [队列](https://github.com/yihonglei/thinking-in-algorithms#%E9%98%9F%E5%88%97)
- [字符串](https://github.com/yihonglei/thinking-in-algorithms#%E5%AD%97%E7%AC%A6%E4%B8%B2)
- [哈希表](https://github.com/yihonglei/thinking-in-algorithms#%E5%93%88%E5%B8%8C%E8%A1%A8)
- [图](https://github.com/yihonglei/thinking-in-algorithms#%E5%9B%BE)
- [跳表](https://github.com/yihonglei/thinking-in-algorithms#%E8%B7%B3%E8%A1%A8)
- [树](https://github.com/yihonglei/thinking-in-algorithms#%E6%A0%91)
- [堆](https://github.com/yihonglei/thinking-in-algorithms#%E5%A0%86)
- [并查集](https://github.com/yihonglei/thinking-in-algorithms#%E5%B9%B6%E6%9F%A5%E9%9B%86)
- [线段树](https://github.com/yihonglei/thinking-in-algorithms#%E7%BA%BF%E6%AE%B5%E6%A0%91)
- [树状数组](https://github.com/yihonglei/thinking-in-algorithms#%E6%A0%91%E7%8A%B6%E6%95%B0%E7%BB%84)
- [字典树](https://github.com/yihonglei/thinking-in-algorithms#%E5%AD%97%E5%85%B8%E6%A0%91)

### 算法目录

- [排序](https://github.com/yihonglei/thinking-in-algorithms#%E6%8E%92%E5%BA%8F)
- [递归](https://github.com/yihonglei/thinking-in-algorithms#%E9%80%92%E5%BD%92)
- [尾递归](https://github.com/yihonglei/thinking-in-algorithms#%E5%B0%BE%E9%80%92%E5%BD%92)
- [二分查找](https://github.com/yihonglei/thinking-in-algorithms#%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE)
- [哈希算法](https://github.com/yihonglei/thinking-in-algorithms#%E5%93%88%E5%B8%8C%E7%AE%97%E6%B3%95)
- [字符串匹配](https://github.com/yihonglei/thinking-in-algorithms#%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%8C%B9%E9%85%8D)
- [深度优先搜索](https://github.com/yihonglei/thinking-in-algorithms#%E6%B7%B1%E5%BA%A6%E4%BC%98%E5%85%88%E6%90%9C%E7%B4%A2)
- [广度优先搜索](https://github.com/yihonglei/thinking-in-algorithms#%E5%B9%BF%E5%BA%A6%E4%BC%98%E5%85%88%E6%90%9C%E7%B4%A2)
- [贪心算法](https://github.com/yihonglei/thinking-in-algorithms#%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95)
- [分治算法](https://github.com/yihonglei/thinking-in-algorithms#%E5%88%86%E6%B2%BB%E7%AE%97%E6%B3%95)
- [回溯算法](https://github.com/yihonglei/thinking-in-algorithms#%E5%9B%9E%E6%BA%AF%E7%AE%97%E6%B3%95)
- [动态规划](https://github.com/yihonglei/thinking-in-algorithms#%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92)
- [设计](https://github.com/yihonglei/thinking-in-algorithms#%E8%AE%BE%E8%AE%A1)
- [数论](https://github.com/yihonglei/thinking-in-algorithms#%E6%95%B0%E8%AE%BA)
- [数学](https://github.com/yihonglei/thinking-in-algorithms#%E6%95%B0%E5%AD%A6)
- [概率与统计](https://github.com/yihonglei/thinking-in-algorithms#%E6%A6%82%E7%8E%87%E4%B8%8E%E7%BB%9F%E8%AE%A1)

### 算法技巧目录

- [双指针](https://github.com/yihonglei/thinking-in-algorithms#%E5%8F%8C%E6%8C%87%E9%92%88)
- [模拟](https://github.com/yihonglei/thinking-in-algorithms#%E6%A8%A1%E6%8B%9F)
- [滑动窗口](https://github.com/yihonglei/thinking-in-algorithms#%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3)
- [位运算](https://github.com/yihonglei/thinking-in-algorithms#%E4%BD%8D%E8%BF%90%E7%AE%97)
- [前缀和](https://github.com/yihonglei/thinking-in-algorithms#%E5%89%8D%E7%BC%80%E5%92%8C)
- [计数](https://github.com/yihonglei/thinking-in-algorithms#%E8%AE%A1%E6%95%B0)
- [状态压缩](https://github.com/yihonglei/thinking-in-algorithms#%E7%8A%B6%E6%80%81%E5%8E%8B%E7%BC%A9)
- [哈希函数](https://github.com/yihonglei/thinking-in-algorithms#%E5%93%88%E5%B8%8C%E5%87%BD%E6%95%B0)
- [滚动哈希](https://github.com/yihonglei/thinking-in-algorithms#%E6%BB%9A%E5%8A%A8%E5%93%88%E5%B8%8C)
- [扫描线](https://github.com/yihonglei/thinking-in-algorithms#%E6%89%AB%E6%8F%8F%E7%BA%BF)
- [单调栈](https://github.com/yihonglei/thinking-in-algorithms#%E5%8D%95%E8%B0%83%E6%A0%88)
- [哨兵结点](https://github.com/yihonglei/thinking-in-algorithms#%E5%93%A8%E5%85%B5%E8%8A%82%E7%82%B9)

### 算法模板目录

- [算法模板](https://github.com/yihonglei/thinking-in-algorithms#%E5%9B%9B%E7%AE%97%E6%B3%95%E6%A8%A1%E6%9D%BF)

# 一、数据结构

## 数组

1、数组理论

2、经典题目(leetcode)

- [1.两数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0001)
- [8.字符串转换整数 (atoi](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0008)
- [11.盛最多水的容器](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0011)
- [15.三数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0015)
- [16.最接近的三数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0016)
- [18.四数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0018)
- [26.删除有序数组中的重复项](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0026)
- [27.移除元素](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0027)
- [34.在排序数组中查找元素的第一个和最后一个位置](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0034)
- [42.接雨水](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0042)
- [59. 螺旋矩阵 II](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0059)
- [78.子集](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0078)
- [79.单词搜索](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0079)
- [209.长度最小的子数组](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0209)
- [977.有序数组的平方](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0977)

## 链表

1、链表理论

2、经典题目(leetcode)

- [2.两数相加](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0002)
- [19.删除链表的倒数第 N 个结点](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0019)
- [21.合并两个有序链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0021)
- [23.合并K个升序链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0023)
- [24.两两交换链表中的结点](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0024)
- [83.删除排序链表中的重复元素](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0083)
- [141.环形链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0141)
- [142.环形链表 II](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0142)
- [148.排序链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0148)
- [203.移除链表元素](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0203)
- [206.反转链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0206)
- [234.回文链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0234)
- [707.设计链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0707)
- [876.链表的中间结点](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0876)

## 栈

1、栈理论

2、经典题目(leetcode)

- [20.有效的括号](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0020)
- [150.逆波兰表达式求值](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0150)
- [225.用队列实现栈](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0225)
- [232.用栈实现队列](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0232)
- [1047.删除字符串中的所有相邻重复项](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode2/n1047)

## 队列

1、队列理论

2、经典题目(leetcode)

- [225.用队列实现栈](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0225)
- [232.用栈实现队列](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0232)
- [239.滑动窗口最大值](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0239)
- [347.前 K 个高频元素](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0347)

## 字符串

1、字符串理论

2、经典题目(leetcode)

- [3.无重复字符的最长子串](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0003)
- [14.最长公共前缀](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0014)
- [28.实现 strStr()](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0028)
- [30.串联所有单词的子串](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0030)
- [76.最小覆盖子串](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0076)
- [151.翻转字符串里的单词](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0151)
- [126.单词接龙 II](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0126)
- [344.反转字符串](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0344)
- [389.找不同](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0389)
- [459.重复的子字符串](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0459)
- [468.验证IP地址](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0468)
- [541.反转字符串 II](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0541)

## 哈希表

1、哈希表理论

2、经典题目(leetcode)

- [1.两数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0001)
- [9.回文数](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0009)
- [15.三数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0015)
- [18.四数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0018)
- [202.快乐数](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0202)
- [242.有效的字母异位词](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0242)
- [349.两个数组的交集](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0349)
- [383.赎金信](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0383)
- [454. 四数相加 II](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0454)

## 图

1、图理论

2、经典题目(leetcode)

## 跳表

1、跳表理论

2、经典题目(leetcode)

## 树

1、树理论

2、经典题目(leetcode)

- [94.二叉树的中序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0094)
- [101.对称二叉树](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0101)
- [102.二叉树的层序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0102)
- [104.二叉树的最大深度](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0104)
- [106.从中序与后序遍历序列构造二叉树](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0106)
- [111.二叉树的最小深度](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0111)
- [112.路径总和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0112)
- [144.二叉树的前序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0144)
- [145.二叉树的后序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0145)
- [257.二叉树的所有路径](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0257)
- [404.左叶子之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0404)
- [450.删除二叉搜索树中的结点](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0450)
- [513.找树左下角的值](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0513)
- [530.二叉搜索树的最小绝对差](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0530)
- [617.合并二叉树](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0617)
- [654.最大二叉树](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0654)

## 堆

1、堆理论

2、经典题目(leetcode)

## 并查集

1、并查集理论

2、经典题目(leetcode)

## 线段树

1、线段树理论

2、经典题目(leetcode)

## 树状数组

1、树状数组理论

2、经典题目(leetcode)

## 字典树

1、字典树理论

2、经典题目(leetcode)

# 二、算法

## 排序

1、排序理论

2、经典题目(leetcode)

## 递归

1、递归理论

2、经典题目(leetcode)

- [7.整数反转](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0007)
- [9.回文数](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0009)

## 尾递归

1、尾递归理论

2、经典题目(leetcode)

## 二分查找

1、二分查找理论

2、经典题目(leetcode)

- [34.在排序数组中查找元素的第一个和最后一个位置](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0034)
- [69.x 的平方根](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0069)
- [162.寻找峰值](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0162)
- [165.比较版本号](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0165)
- [209.长度最小的子数组](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0209)
- [287.寻找重复数](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0287)
- [349.两个数组的交集](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0349)
- [704.二分查找](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0704)
- [852.山脉数组的峰顶索引](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode2/n852)
- [1351.统计有序矩阵中的负数](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode2/n1351)

## 哈希算法

1、哈希算法理论

2、经典题目(leetcode)

## 字符串匹配

1、字符串匹配理论

2、经典题目(leetcode)

- [28.实现 strStr()](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0028)

## 深度优先搜索

1、深度优先搜索理论

2、经典题目(leetcode)

- [94.二叉树的中序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0094)
- [101.对称二叉树](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0101)
- [102.二叉树的层序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0102)
- [104.二叉树的最大深度](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0104)
- [106.从中序与后序遍历序列构造二叉树](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0106)
- [111.二叉树的最小深度](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0111)
- [112.路径总和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0112)
- [144.二叉树的前序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0144)
- [145.二叉树的后序遍历](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0145)
- [257.二叉树的所有路径](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0257)

## 广度优先搜索

1、广度优先搜索理论

2、经典题目(leetcode)

## 贪心算法

1、贪心理论

2、经典题目(leetcode)

## 分治算法

1、分治算法理论

2、经典题目(leetcode)

## 回溯算法

1、回溯算法理论

2、经典题目(leetcode)

## 动态规划

1、动态规划理论

2、经典题目(leetcode)

## 设计

1、设计理论

2、经典题目(leetcode)

## 数论

1、数论理论

2、经典题目(leetcode)

## 数学

1、数学理论

2、经典题目(leetcode)

## 概率与统计

1、概率与统计理论

2、经典题目(leetcode)

# 三、算法技巧

## 双指针

1、双指针理论

2、经典题目(leetcode)

- [11.盛最多水的容器](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0011)
- [15.三数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0015)
- [16.最接近的三数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0016)
- [18.四数之和](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0018)
- [19.删除链表的倒数第 N 个结点](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0019)
- [26.删除有序数组中的重复项](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0026)
- [27.移除元素](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0027)
- [141.环形链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0141)
- [142.环形链表 II](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0142)
- [151.翻转字符串里的单词](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0151)
- [206.反转链表](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0206)
- [209.长度最小的子数组](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0209)
- [344.反转字符串](https://github.com/yihonglei/thinking-in-algorithms/tree/master/java/src/main/java/com/jpeony/leetcode/n0344)

## 模拟

1、模拟理论

2、经典题目(leetcode)

## 滑动窗口

1、滑动窗口理论

2、经典题目(leetcode)

## 位运算

1、位运算理论

2、经典题目(leetcode)

## 前缀和

1、前缀和理论

2、经典题目(leetcode)

## 计数

1、计数理论

2、经典题目(leetcode)

## 状态压缩

1、状态压缩理论

2、经典题目(leetcode)

## 哈希函数

1、哈希函数理论

2、经典题目(leetcode)

## 滚动哈希

1、滚动哈希理论

2、经典题目(leetcode)

## 扫描线

1、扫描线理论

2、经典题目(leetcode)

## 单调栈

1、单调栈理论

2、经典题目(leetcode)

## 哨兵结点

1、单调栈理论

2、经典题目(leetcode)

# 四、算法模板

经典题目(leetcode)

- [回溯算法模板](https://github.com/yihonglei/thinking-in-algorithms/blob/master/java/src/main/java/com/jpeony/leetcodecn/ReplaceSpace.java)