-
Notifications
You must be signed in to change notification settings - Fork 50
/
README.md
269 lines (186 loc) · 37.7 KB
/
README.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
## <p align="center"> Leetcode-Solutions-Java-And-Kotlin </p>
<p align="center"> 仓库 <b>每周</b> 持续更新,如果对你有帮助,请在右上角 star 一下</p>
<p align="center">
剑指 offer 及大厂面试题解:<a href ="https://offer.hi-dhl.com">在线阅读</a>,LeetCode 系列题解:<a href ="https://leetcode.hi-dhl.com">在线阅读</a>
</p>
<p align="center"> 做题进度:AC 216+ 题,每道题目都会用 Java 和 kotlin 去实现</p>
<p align="center"> 每题都有解题思路、时间复杂度、空间复杂度、源代码</p>
<p align="center">
<a href="https://github.com/hi-dhl"><img src="https://img.shields.io/badge/GitHub-HiDhl-4BC51D.svg?style=flat"></a> <img src="https://img.shields.io/badge/language-Java | Kotlin-orange.svg"/> <img src="https://img.shields.io/badge/platform-android-lightgrey.svg"/>
</p>
![kotlin-vs-java-leetcode](http://cdn.51git.cn/2020-07-16-kotlin-vs-java-leetcode.png)
数据结构和算法是每个程序的都必须掌握的,也是面试的入门门槛之一,在大学期间经常参加一些比赛如蓝桥杯、ACM 等等,因此无论在面试还是工作都带来很多帮助。
Google 这几年一直在强力推荐 Kotlin,自从用了 Kotlin 了之后爱不释手,工作效率提高了很多,现在我打算重拾 LeetCode 之 Algorithm,语言选择 **Java、Kotlin**,题库会一点点去完善。
LeetCode 我现在正式从国际版切换到国内版,因为国内版本现在越做越好了,题库也更加完善,除了基本的算法、数据库、Shell、多线程之外,还有程序员面试宝典、剑指 offer 系列题目。
LeetCode 的题库庞大,每个分类都能筛选出数百道题,由于每个人的精力有限,不可能刷完所有题目,因此我会按照经典类型题目去分类、和题目的难易程度去排序。
* 数据结构: 数组、栈、队列、字符串、链表、树……
* 算法: 查找算法、搜索算法、位运算、排序、数学、……
每道题目都会用 Java 和 kotlin 去实现,并且每道题目都有解题思路、时间复杂度和空间复杂度,如果你同我一样喜欢算法、LeetCode,可以关注我 GitHub 上的 LeetCode 题解:[Leetcode-Solutions-with-Java-And-Kotlin](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin)
## 在线文档
![](http://cdn.51git.cn/2020-10-04-16017884626310.jpg)
* 剑指 offer 及国内外大厂面试题解:[在线阅读](https://offer.hi-dhl.com)
* LeetCode 系列题解:[在线阅读](https://leetcode.hi-dhl.com)
## 工程目录结构介绍
```
Leetcode-Solutions-with-Java-And-Kotlin
├── 00-code(源代码) // 存放 Java 和 kotlin 的源码(LeetCode、剑指 offer、国内外大厂面试题)
├── leetcode // 存放 LeetCode 的题解( MD 文件)
├── offer // 存放剑指 offer 的题解( MD 文件)
```
### 联系我
* 个人微信:hi-dhl
* 公众号:ByteCode,包含 Jetpack ,Kotlin ,Android 10 系列源码,译文,LeetCode / 剑指 Offer / 多线程 / 国内外大厂算法题 等等一系列文章
<img src='http://cdn.51git.cn/2020-10-20-151047.png' width = 350px/>
---
最后推荐我一直在更新维护的项目和网站:
* 计划建立一个最全、最新的 AndroidX Jetpack 相关组件的实战项目 以及 相关组件原理分析文章,正在逐渐增加 Jetpack 新成员,仓库持续更新,欢迎前去查看:[AndroidX-Jetpack-Practice](https://github.com/hi-dhl/AndroidX-Jetpack-Practice)
* 最新 Android 10 源码分析系列文章,了解系统源码,不仅有助于分析问题,在面试过程中,对我们也是非常有帮助的,仓库持续更新,欢迎前去查看 [Android10-Source-Analysis](https://github.com/hi-dhl/Android10-Source-Analysis)
* 整理和翻译一系列精选国外的技术文章,每篇文章都会有**译者思考**部分,对原文的更加深入的解读,仓库持续更新,欢迎前去查看 [Technical-Article-Translation](https://github.com/hi-dhl/Technical-Article-Translation)
* LeetCode / 剑指 Offer / 国内外大厂面试题,涵盖: 多线程、数组、栈、队列、字符串、链表、树,查找算法、搜索算法、位运算、排序等等,每道题目都会用 Java 和 kotlin 去实现,仓库持续更新,欢迎前去查看 [Leetcode-Solutions-with-Java-And-Kotlin](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin)
* 「为互联网人而设计,国内国外名站导航」涵括新闻、体育、生活、娱乐、设计、产品、运营、前端开发、Android 开发等等网址,[为互联网人而设计,国内国外名站导航](https://site.51git.cn)
<!--
## 剑指 offer(持续更新中)
剑指 offer 涵盖了以上所有分类的题目,是面试必刷题系列之一,笔者正努力刷完所有题目,然后对每题进行分类,希望可以帮助每个求职找工作的同学。
| 题号 | 题解 | 题目地址 | Language | Difficulty |
| :-: | :-: | :-: | :-: | :-: |
| 03 | [数组中重复的数字](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF01%20LeetCode%E5%89%91%E6%8C%87offer%EF%BC%9A%E6%95%B0%E7%BB%84%E4%B8%AD%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97.md)| [中文地址](https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/)| Java / Kotlin | Easy |
| 04 | [二维数组中的查找](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF04%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E6%9F%A5%E6%89%BE.md)| [中文地址](https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/)| Java / Kotlin | Easy |
| 05 | [替换空格](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF05%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E6%9B%BF%E6%8D%A2%E7%A9%BA%E6%A0%BC.md)| [中文地址](https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/)| Java / Kotlin | Easy |
| 06 | [从尾到头打印链表](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF06%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E4%BB%8E%E5%B0%BE%E5%88%B0%E5%A4%B4%E6%89%93%E5%8D%B0%E9%93%BE%E8%A1%A8.md)| [中文地址](https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/)| Java / Kotlin | Easy |
| 07 | [重建二叉树 ](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/BinaryTree(%E4%BA%8C%E5%8F%89%E6%A0%91)/0xA05%20LeetCode%E4%BA%8C%E5%8F%89%E6%A0%91%EF%BC%9A%E4%BB%8E%E5%89%8D%E5%BA%8F%E4%B8%8E%E4%B8%AD%E5%BA%8F%E9%81%8D%E5%8E%86%E5%BA%8F%E5%88%97%E6%9E%84%E9%80%A0%E4%BA%8C%E5%8F%89%E6%A0%91.md)| [中文地址](https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/)| Java / Kotlin | Easy |
| 09 | [用两个栈实现队列](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF09%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E7%94%A8%E4%B8%A4%E4%B8%AA%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97.md)| [中文地址](https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/)| Java / Kotlin | Easy |
| 10-1 | [斐波那契数列](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF10%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97.md)| [中文地址](https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof/)| Java / Kotlin | Easy |
| 10-2 | [青蛙跳台阶问题](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF10.2%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E9%9D%92%E8%9B%99%E8%B7%B3%E5%8F%B0%E9%98%B6%E9%97%AE%E9%A2%98.md)| [中文地址](https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof/)| Java / Kotlin | Easy |
| 11 | [旋转数组的最小数字](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF11%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E6%97%8B%E8%BD%AC%E6%95%B0%E7%BB%84%E7%9A%84%E6%9C%80%E5%B0%8F%E6%95%B0%E5%AD%97.md)| [中文地址](https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-lcof/)| Java / Kotlin | Easy |
| 12 | [矩阵中的路径](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF12%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E7%9F%A9%E9%98%B5%E4%B8%AD%E7%9A%84%E8%B7%AF%E5%BE%84.md)| [中文地址](https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/)| Java / Kotlin | Medium |
| 13 | [机器人的运动范围](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF13%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E6%9C%BA%E5%99%A8%E4%BA%BA%E7%9A%84%E8%BF%90%E5%8A%A8%E8%8C%83%E5%9B%B4.md)| [中文地址](https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/)| Java / Kotlin | Medium |
| 14-1 | [剪绳子](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF14-1%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E5%89%AA%E7%BB%B3%E5%AD%90.md)| [中文地址](https://leetcode-cn.com/problems/jian-sheng-zi-lcof)| Java / Kotlin | Medium |
| 14-2 | [剪绳子](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF14-2%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E5%89%AA%E7%BB%B3%E5%AD%90.md)| [中文地址](https://leetcode-cn.com/problems/jian-sheng-zi-ii-lcof/)| Java / Kotlin | Medium |
| 15 | [二进制中 1 的个数](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF15%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E4%BA%8C%E8%BF%9B%E5%88%B6%E4%B8%AD%201%20%E7%9A%84%E4%B8%AA%E6%95%B0.md)| [中文地址](https://leetcode-cn.com/problems/er-jin-zhi-zhong-1de-ge-shu-lcof/)| Java / Kotlin | Easy |
| 16 | [数值的整数次方](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF16%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E6%95%B0%E5%80%BC%E7%9A%84%E6%95%B4%E6%95%B0%E6%AC%A1%E6%96%B9.md)| [中文地址](https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/)| Java / Kotlin | Medium |
| 17 | [打印从1到最大的n位数](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF17%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%20%E6%89%93%E5%8D%B0%E4%BB%8E1%E5%88%B0%E6%9C%80%E5%A4%A7%E7%9A%84n%E4%BD%8D%E6%95%B0.md) | [中文地址](https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof/)| Java / Kotlin | Easy |
| 18 | [删除链表的节点](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF18%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%20%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E7%9A%84%E8%8A%82%E7%82%B9.md) | [中文地址](https://leetcode-cn.com/problems/shan-chu-lian-biao-de-jie-dian-lcof/)| Java / Kotlin | Easy |
| 19 | [正则表达式匹配](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF19%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%20%E5%88%A0%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%8C%B9%E9%85%8D.md) | [中文地址](https://leetcode-cn.com/problems/zheng-ze-biao-da-shi-pi-pei-lcof/)| Java / Kotlin | Easy |
| 21 | [调整数组顺序使奇数位于偶数前面](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF21%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E8%B0%83%E6%95%B4%E6%95%B0%E7%BB%84%E9%A1%BA%E5%BA%8F%E4%BD%BF%E5%A5%87%E6%95%B0%E4%BD%8D%E4%BA%8E%E5%81%B6%E6%95%B0%E5%89%8D%E9%9D%A2.md) | [中文地址](https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof)| Java / Kotlin | Easy |
| 22 | [链表中倒数第 k 个节点](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF22%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E9%93%BE%E8%A1%A8%E4%B8%AD%E5%80%92%E6%95%B0%E7%AC%AC%20k%20%E4%B8%AA%E8%8A%82%E7%82%B9.md) | [中文地址](https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof)| Java / Kotlin | Easy |
| 24 | [反转链表](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF24%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E5%8F%8D%E8%BD%AC%E9%93%BE%E8%A1%A8.md) | [中文地址](https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof)| Java / Kotlin | Easy |
| 25 | [合并两个排序的链表](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF25%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E5%90%88%E5%B9%B6%E4%B8%A4%E4%B8%AA%E6%8E%92%E5%BA%8F%E7%9A%84%E9%93%BE%E8%A1%A8.md) | [中文地址](https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof)| Java / Kotlin | Easy |
| 26 | [树的子结构](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF26%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E6%A0%91%E7%9A%84%E5%AD%90%E7%BB%93%E6%9E%84.md) | [中文地址](https://leetcode-cn.com/problems/shu-de-zi-jie-gou-lcof)| Java / Kotlin | Easy |
| 27 | [二叉树的镜像](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF27%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E9%95%9C%E5%83%8F.md) | [中文地址](https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lcof)| Java / Kotlin | Easy |
| 28 | [对称的二叉树](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF28%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E5%AF%B9%E7%A7%B0%E7%9A%84%E4%BA%8C%E5%8F%89%E6%A0%91.md) | [中文地址](https://leetcode-cn.com/problems/dui-cheng-de-er-cha-shu-lcof)| Java / Kotlin | Easy |
## 查找
查找:二分查找、线性查找、树结构查找、散列表查找
### 二分查找(持续更新中)
二分查找算法基本步骤:
1. 假定样本数列中的所有元素都是从小到大排列的。
2. 使用目标元素与样本数列中的中间元素进行大小的比较。
3. 若目标元素等于中间元素,则表示查找成功。
4. 若目标元素小于中间元素,则去中间元素的左侧进行查找,重复步骤 2。
5. 若目标元素大于中间元素,则去中间元素的右侧进行查找,重复步骤 2。
6. 直到与所有该比较的元素比较完毕依然不相等,则表示查找失败。
| 题号 | 题解 | 题目地址 | Language | Difficulty |
| :-: | :-: | :-: | :-: | :-: |
| 367 | [Valid Perfect Square<br/>有效的完全平方数](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/binarySearch(%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE)/0xC01%20LeetCode%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE%EF%BC%9A%E6%9C%89%E6%95%88%E7%9A%84%E5%AE%8C%E5%85%A8%E5%B9%B3%E6%96%B9%E6%95%B0.md)| [英文地址](https://leetcode.com/problems/valid-perfect-square/) / [中文地址](https://leetcode-cn.com/problems/valid-perfect-square/)| Java / Kotlin | Easy |
| 69 | [Sqrt(x)<br/>X的平方根](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/binarySearch(%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE)/0xC02%20LeetCode%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE%EF%BC%9AX%E7%9A%84%E5%B9%B3%E6%96%B9%E6%A0%B9.md)| [英文地址](https://leetcode.com/problems/sqrtx/) / [中文地址](https://leetcode-cn.com/problems/sqrtx/)| Java / Kotlin | Easy |
| 744 | [Find Smallest Letter Greater Than Target<br/>寻找比目标字母大的最小字母](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/binarySearch(%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE)/0xC03%20LeetCode%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE%EF%BC%9A%E5%AF%BB%E6%89%BE%E6%AF%94%E7%9B%AE%E6%A0%87%E5%AD%97%E6%AF%8D%E5%A4%A7%E7%9A%84%E6%9C%80%E5%B0%8F%E5%AD%97%E6%AF%8D.md)| [英文地址](https://leetcode.com/problems/find-smallest-letter-greater-than-target/) / [中文地址](https://leetcode-cn.com/problems/find-smallest-letter-greater-than-target/)| Java / Kotlin | Easy |
| 11(offer) | [旋转数组的最小数字](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF11%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E6%97%8B%E8%BD%AC%E6%95%B0%E7%BB%84%E7%9A%84%E6%9C%80%E5%B0%8F%E6%95%B0%E5%AD%97.md)| [中文地址](https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-lcof/)| Java / Kotlin | Easy |
### 线性查找(持续更新中)
从前往后依次对比需要查找的数据,如果找到对应的元素,则返回元素的位置。
1. 使用目标元素与样本数列中的第一个元素起依次比较大小;
2. 若找到与目标元素相等的元素,则表示查找成功;
3. 若目标元素与样本数列的所有元素比较完毕也没有找到相等的元素,则表示查找失败。
| 题号 | 题解 | 题目地址 | Language | Difficulty |
| :-: | :-: | :-: | :-: | :-: |
| 04(offer) | [二维数组中的查找](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF04%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E6%9F%A5%E6%89%BE.md)| [中文地址](https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/)| Java / Kotlin | Easy |
# 二叉树(持续更新中)
**完全二叉树:** 若二叉树的高度是h,除第h层之外,其他(1~h-1)层的节点数都达到了最大个数,并且第h层的节点都连续的集中在最左边。想到点什么没?实际上,完全二叉树和堆联系比较紧密哈~~~
**满二叉树:** 除最后一层外,每一层上的所有节点都有两个子节点,最后一层都是叶子节点。
**哈夫曼树:** 给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。
**二叉排序树:** 又称二叉查找树(Binary Search Tree),亦称二叉搜索树。二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:
* 若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
* 若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;
* 左、右子树也分别为二叉排序树;
* 没有键值相等的节点
二分查找的时间复杂度是O(log(n)),最坏情况下的时间复杂度是O(n)(相当于顺序查找)
**平衡二叉树:** 又称 AVL 树。平衡二叉树是二叉搜索树的进化版,所谓平衡二叉树指的是,左右两个子树的高度差的绝对值不超过 1。
**红黑树:** 红黑树是每个节点都带颜色的树,节点颜色或是红色或是黑色,红黑树是一种查找树。红黑树有一个重要的性质,从根节点到叶子节点的最长的路径不多于最短的路径的长度的两倍。对于红黑树,插入,删除,查找的复杂度都是O(log N)。
| 题号 | 题解 | 题目地址 | Language | Difficulty |
| :-: | :-: | :-: | :-: | :-: |
| 144 | [Binary Tree Preorder Traversal<br/>二叉树前序遍历](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/BinaryTree(%E4%BA%8C%E5%8F%89%E6%A0%91)/0xA01%20LeetCode%E4%BA%8C%E5%8F%89%E6%A0%91%EF%BC%9A%20%E5%89%8D%E5%BA%8F%E9%81%8D%E5%8E%86.md)| [英文地址](https://leetcode.com/problems/binary-tree-preorder-traversal/) / [中文地址](https://leetcode-cn.com/problems/binary-tree-preorder-traversal/)| Java / Kotlin | Medium |
| 94 | [Binary Tree Inorder Traversal<br/>二叉树中序遍历](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/BinaryTree(%E4%BA%8C%E5%8F%89%E6%A0%91)/0xA02%20LeetCode%E4%BA%8C%E5%8F%89%E6%A0%91%EF%BC%9A%E4%B8%AD%E5%BA%8F%E9%81%8D%E5%8E%86.md) | [英文地址](https://leetcode.com/problems/binary-tree-inorder-traversal/) / [中文地址](https://leetcode-cn.com/problems/binary-tree-inorder-traversal/) | Java / Kotlin | Medium |
| 145 | [Binary Tree Postorder Traversal<br/>二叉树后序遍历](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/BinaryTree(%E4%BA%8C%E5%8F%89%E6%A0%91)/0xA03%20LeetCode%E4%BA%8C%E5%8F%89%E6%A0%91%EF%BC%9A%E5%90%8E%E5%BA%8F%E9%81%8D%E5%8E%86.md) | [英文地址](https://leetcode.com/problems/binary-tree-postorder-traversal/) / [中文地址](https://leetcode.com-cn/problems/binary-tree-postorder-traversal/) | Java / Kotlin | Medium |
| 145 | [Binary Tree Level Order Traversal<br/>二叉树层次遍历](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/BinaryTree(%E4%BA%8C%E5%8F%89%E6%A0%91)/0xA04%20LeetCode%E4%BA%8C%E5%8F%89%E6%A0%91%EF%BC%9A%E5%B1%82%E6%AC%A1%E9%81%8D%E5%8E%86.md) | [英文地址](https://leetcode.com/problems/binary-tree-level-order-traversal/) / [中文地址](https://leetcode-cn.com/problems/binary-tree-level-order-traversal/) | Java / Kotlin | Medium |
| 107 | [Binary Tree Level Order Traversal II<br/>自下而上分层遍历](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/BinaryTree(%E4%BA%8C%E5%8F%89%E6%A0%91)/0xA09%20LeetCode%E4%BA%8C%E5%8F%89%E6%A0%91%EF%BC%9A%E8%87%AA%E4%B8%8B%E8%80%8C%E4%B8%8A%E5%88%86%E5%B1%82%E9%81%8D%E5%8E%86.md) | [英文地址](https://leetcode.com/problems/binary-tree-level-order-traversal-ii/) / [中文地址](https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/) | Java / Kotlin | Easy |
| 105 | [Construct Binary Tree from Preorder and Inorder Traversal<br/>从前序与中序遍历序列构造二叉树](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/BinaryTree(%E4%BA%8C%E5%8F%89%E6%A0%91)/0xA05%20LeetCode%E4%BA%8C%E5%8F%89%E6%A0%91%EF%BC%9A%E4%BB%8E%E5%89%8D%E5%BA%8F%E4%B8%8E%E4%B8%AD%E5%BA%8F%E9%81%8D%E5%8E%86%E5%BA%8F%E5%88%97%E6%9E%84%E9%80%A0%E4%BA%8C%E5%8F%89%E6%A0%91.md) | [英文地址](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/) / [中文地址](https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/) | Java / Kotlin | Medium |
| 104 | [Maximum Depth of Binary Tree<br/>计算二叉树的最大深度 ](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/BinaryTree(%E4%BA%8C%E5%8F%89%E6%A0%91)/0xA06%20LeetCode%E4%BA%8C%E5%8F%89%E6%A0%91%EF%BC%9A%E8%AE%A1%E7%AE%97%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%9C%80%E5%A4%A7%E6%B7%B1%E5%BA%A6.md) | [英文地址](https://leetcode.com/problems/maximum-depth-of-binary-tree/) / [中文地址](https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/) | Java / Kotlin | Easy |
| 111 | [Minimum Depth of Binary Tree<br/>计算二叉树的最小深度](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/BinaryTree(%E4%BA%8C%E5%8F%89%E6%A0%91)/0xA07%20LeetCode%E4%BA%8C%E5%8F%89%E6%A0%91%EF%BC%9A%E8%AE%A1%E7%AE%97%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%9C%80%E5%B0%8F%E6%B7%B1%E5%BA%A6.md) | [英文地址](https://leetcode.com/problems/minimum-depth-of-binary-tree/) / [中文地址](https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/) | Java / Kotlin | Easy |
| 110 | [Balanced Binary Tree<br/>判断二叉树是不是平衡二叉树](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/BinaryTree(%E4%BA%8C%E5%8F%89%E6%A0%91)/0xA08%20LeetCode%E4%BA%8C%E5%8F%89%E6%A0%91%EF%BC%9A%E5%88%A4%E6%96%AD%E4%BA%8C%E5%8F%89%E6%A0%91%E6%98%AF%E4%B8%8D%E6%98%AF%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91.md) | [英文地址](https://leetcode.com/problems/balanced-binary-tree/) / [中文地址](https://leetcode-cn.com/problems/balanced-binary-tree/) | Java / Kotlin | Easy |
| 222 | [Count Complete Tree Nodes<br/>求二叉树中的节点个数](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/BinaryTree(%E4%BA%8C%E5%8F%89%E6%A0%91)/0xA10%20LeetCode%E4%BA%8C%E5%8F%89%E6%A0%91%EF%BC%9A%E6%B1%82%E4%BA%8C%E5%8F%89%E6%A0%91%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9%E4%B8%AA%E6%95%B0.md) | [英文地址](https://leetcode.com/problems/count-complete-tree-nodes/) / [中文地址](https://leetcode-cn.com/problems/count-complete-tree-nodes/) | Java / Kotlin | Medium |
| 100 | [same-tree<br/>判断两棵二叉树是否结构相同](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/BinaryTree(%E4%BA%8C%E5%8F%89%E6%A0%91)/0xA11%20LeetCode%E4%BA%8C%E5%8F%89%E6%A0%91%EF%BC%9A%E5%88%A4%E6%96%AD%E4%B8%A4%E6%A3%B5%E4%BA%8C%E5%8F%89%E6%A0%91%E6%98%AF%E5%90%A6%E7%BB%93%E6%9E%84%E7%9B%B8%E5%90%8C.md) | [英文地址](https://leetcode.com/problems/same-tree/) / [中文地址](https://leetcode-cn.com/problems/same-tree/) | Java / Kotlin | Easy |
| 07(offer) | [重建二叉树 ](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/BinaryTree(%E4%BA%8C%E5%8F%89%E6%A0%91)/0xA05%20LeetCode%E4%BA%8C%E5%8F%89%E6%A0%91%EF%BC%9A%E4%BB%8E%E5%89%8D%E5%BA%8F%E4%B8%8E%E4%B8%AD%E5%BA%8F%E9%81%8D%E5%8E%86%E5%BA%8F%E5%88%97%E6%9E%84%E9%80%A0%E4%BA%8C%E5%8F%89%E6%A0%91.md)| [中文地址](https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/)| Java / Kotlin | Easy |
## 线性表
线性表:数组、链表、栈、队列等等
### 数组以及数字(持续更新中)
| 题号 | 题解 | 题目地址 | Language | Difficulty |
| :-: | :-: | :-: | :-: | :-: |
| 01 | [拿硬币](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/Array(%E6%95%B0%E7%BB%84)/0xB01%20LeetCode%E6%95%B0%E7%BB%84%EF%BC%9A2020%20%E5%8A%9B%E6%89%A3%E6%9D%AF%EF%BC%9A%E6%8B%BF%E7%A1%AC%E5%B8%81.md)| [中文地址](https://leetcode-cn.com/contest/season/2020-spring/problems/na-ying-bi/)| Java / Kotlin | Easy |
| 167 | [Two Sum II - Input array is sorted<br/>两数之和2 - 输入数组有序](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/Array(%E6%95%B0%E7%BB%84)/0xB02%20LeetCode%E6%95%B0%E7%BB%84%EF%BC%9A%E4%B8%A4%E6%95%B0%E4%B9%8B%E5%92%8C2%20-%20%E8%BE%93%E5%85%A5%E6%95%B0%E7%BB%84%E6%9C%89%E5%BA%8F.md)| [英文地址](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/) / [中文地址](https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/)| Java / Kotlin | Easy |
| 10-1(offer) | [斐波那契数列](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF10%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97.md)| [中文地址](https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof/)| Java / Kotlin | Easy |
| 10-2(offer) | [青蛙跳台阶问题](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF10.2%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E9%9D%92%E8%9B%99%E8%B7%B3%E5%8F%B0%E9%98%B6%E9%97%AE%E9%A2%98.md)| [中文地址](https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof/)| Java / Kotlin | Easy |
### 链表(持续更新中)
链表:单链表、双向链表、循环链表、双向循环链表、静态链表
| 题号 | 题解 | 题目地址 | Language | Difficulty |
| :-: | :-: | :-: | :-: | :-: |
| 06(offer) | [从尾到头打印链表](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF06%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E4%BB%8E%E5%B0%BE%E5%88%B0%E5%A4%B4%E6%89%93%E5%8D%B0%E9%93%BE%E8%A1%A8.md)| [中文地址](https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/)| Java / Kotlin | Easy |
| 18(offer) | [删除链表的节点](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF18%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%20%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E7%9A%84%E8%8A%82%E7%82%B9.md) | [中文地址](https://leetcode-cn.com/problems/shan-chu-lian-biao-de-jie-dian-lcof/)| Java / Kotlin | Easy |
| 707 | [设计链表](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/LinkedList(%E9%93%BE%E8%A1%A8)/0xG01%20LeetCode%20%E9%93%BE%E8%A1%A8%EF%BC%9A%E8%AE%BE%E8%AE%A1%E9%93%BE%E8%A1%A8.md) | [英文地址](https://leetcode.com/problems/design-linked-list) / [中文地址](https://leetcode-cn.com/problems/design-linked-list)| Java / Kotlin | Easy |
| 141 | [环形链表](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/LinkedList(%E9%93%BE%E8%A1%A8)/0xG02%20LeetCode%20%E9%93%BE%E8%A1%A8%EF%BC%9A%E7%8E%AF%E5%BD%A2%E9%93%BE%E8%A1%A8.md) | [英文地址](https://leetcode.com/problems/linked-list-cycle/) / [中文地址](https://leetcode-cn.com/problems/linked-list-cycle/) | Java / Kotlin | Easy |
| 21(offer) | [调整数组顺序使奇数位于偶数前面](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF21%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E8%B0%83%E6%95%B4%E6%95%B0%E7%BB%84%E9%A1%BA%E5%BA%8F%E4%BD%BF%E5%A5%87%E6%95%B0%E4%BD%8D%E4%BA%8E%E5%81%B6%E6%95%B0%E5%89%8D%E9%9D%A2.md) | [中文地址](https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof)| Java / Kotlin | Easy |
| 22(offer) | [链表中倒数第 k 个节点](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF22%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E9%93%BE%E8%A1%A8%E4%B8%AD%E5%80%92%E6%95%B0%E7%AC%AC%20k%20%E4%B8%AA%E8%8A%82%E7%82%B9.md) | [中文地址](https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof)| Java / Kotlin | Easy |
| 24(offer) | [反转链表](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF24%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E5%8F%8D%E8%BD%AC%E9%93%BE%E8%A1%A8.md) | [中文地址](https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof)| Java / Kotlin | Easy |
| 25(offer) | [合并两个排序的链表](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF25%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E5%90%88%E5%B9%B6%E4%B8%A4%E4%B8%AA%E6%8E%92%E5%BA%8F%E7%9A%84%E9%93%BE%E8%A1%A8.md) | [中文地址](https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof)| Java / Kotlin | Easy |
### 栈(持续更新中)
栈:顺序栈、链式栈
| 题号 | 题解 | 题目地址 | Language | Difficulty |
| :-: | :-: | :-: | :-: | :-: |
| 09(offer) | [用两个栈实现队列](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF09%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E7%94%A8%E4%B8%A4%E4%B8%AA%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97.md)| [中文地址](https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/)| Java / Kotlin | Easy |
| 155 | [最小栈](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/stack(%E6%A0%88)/0xF01%20LeetCode%20%E6%A0%88%EF%BC%9A%E6%9C%80%E5%B0%8F%E6%A0%88.md) | [中文地址](https://leetcode-cn.com/problems/min-stack/) / [英文地址](https://leetcode.com/problems/min-stack) | Java / Kotlin | Easy |
## 搜索(持续更新中)
搜索:深度优先搜索、广度优先搜索
| 题号 | 题解 | 题目地址 | Language | Difficulty |
| :-: | :-: | :-: | :-: | :-: |
| 13(offer) | [机器人的运动范围](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF13%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E6%9C%BA%E5%99%A8%E4%BA%BA%E7%9A%84%E8%BF%90%E5%8A%A8%E8%8C%83%E5%9B%B4.md)| [中文地址](https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/)| Java / Kotlin | Medium |
| 200 | [岛屿数量](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/search(%E6%90%9C%E7%B4%A2)/0xE01%20LeetCode%20%E6%90%9C%E7%B4%A2%EF%BC%9A%E5%B2%9B%E5%B1%BF%E6%95%B0%E9%87%8F.md)| [中文地址](https://leetcode-cn.com/problems/number-of-islands/) / [英文地址](https://leetcode.com/problems/number-of-islands/) | Java / Kotlin | Medium |
| 279 | [完全平方数](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/search(%E6%90%9C%E7%B4%A2)/0xE02%20LeetCode%20%E6%90%9C%E7%B4%A2%EF%BC%9A%E5%AE%8C%E5%85%A8%E5%B9%B3%E6%96%B9%E6%95%B0.md) | [中文地址](https://leetcode-cn.com/problems/perfect-squares/) / [英文地址](https://leetcode.com/problems/perfect-squares/) | Java / Kotlin | Medium |
### 队列(持续更新中)
队列:普通队列、双端队列、阻塞队列、并发队列、阻塞并发队列
| 题号 | 题解 | 题目地址 | Language | Difficulty |
| :-: | :-: | :-: | :-: | :-: |
| 622 | [设计循环队列](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/queue(%E9%98%9F%E5%88%97)/0xF01%20LeetCode%20%E9%98%9F%E5%88%97%EF%BC%9A%E8%AE%BE%E8%AE%A1%E5%BE%AA%E7%8E%AF%E9%98%9F%E5%88%97.md) | [中文地址](https://leetcode-cn.com/problems/design-circular-queue/) / [英文地址](https://leetcode.com/problems/design-circular-queue/) | Java / Kotlin | Medium |
### 动态规划(持续更新中)
| 题号 | 题解 | 题目地址 | Language | Difficulty |
| :-: | :-: | :-: | :-: | :-: |
| 12(offer) | [矩阵中的路径](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF12%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E7%9F%A9%E9%98%B5%E4%B8%AD%E7%9A%84%E8%B7%AF%E5%BE%84.md)| [中文地址](https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/)| Java / Kotlin | Medium |
| 14-1(offer) | [剪绳子](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF14-1%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E5%89%AA%E7%BB%B3%E5%AD%90.md)| [中文地址](https://leetcode-cn.com/problems/jian-sheng-zi-lcof)| Java / Kotlin | Medium |
| 343 | [整数拆分](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF14-1%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E5%89%AA%E7%BB%B3%E5%AD%90.md)| [英文地址](https://leetcode.com/problems/integer-break/) / [中文地址](https://leetcode-cn.com/problems/integer-break/)| Java / Kotlin | Medium |
| 14-2(offer) | [剪绳子](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF14-2%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E5%89%AA%E7%BB%B3%E5%AD%90.md)| [中文地址](https://leetcode-cn.com/problems/jian-sheng-zi-ii-lcof/)| Java / Kotlin | Medium |
| 19(offer) | [删正则表达式匹配](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF19%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%20%E5%88%A0%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%8C%B9%E9%85%8D.md) | [中文地址](https://leetcode-cn.com/problems/zheng-ze-biao-da-shi-pi-pei-lcof/)| Java / Kotlin | Easy |
## 位运算(持续更新中)
| 题号 | 题解 | 题目地址 | Language | Difficulty |
| :-: | :-: | :-: | :-: | :-: |
| 15(offer) | [二进制中 1 的个数](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF15%20LeetCode%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E4%BA%8C%E8%BF%9B%E5%88%B6%E4%B8%AD%201%20%E7%9A%84%E4%B8%AA%E6%95%B0.md)| [中文地址](https://leetcode-cn.com/problems/er-jin-zhi-zhong-1de-ge-shu-lcof/)| Java / Kotlin | Easy |
| 16(offer) | [数值的整数次方](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF16%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E6%95%B0%E5%80%BC%E7%9A%84%E6%95%B4%E6%95%B0%E6%AC%A1%E6%96%B9.md)| [中文地址](https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/)| Java / Kotlin | Medium |
| 50 | [Pow(x, n)](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF16%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%E6%95%B0%E5%80%BC%E7%9A%84%E6%95%B4%E6%95%B0%E6%AC%A1%E6%96%B9.md)| [中文地址](https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/)| Java / Kotlin | Medium |
## 字符串(持续更新中)
| 题号 | 题解 | 题目地址 | Language | Difficulty |
| :-: | :-: | :-: | :-: | :-: |
| 14 | [最长公共前缀](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/character(%E5%AD%97%E7%AC%A6%E4%B8%B2)/0xD01%20LeetCode%20%E5%AD%97%E7%AC%A6%E4%B8%B2%EF%BC%9A%E6%9C%80%E9%95%BF%E5%85%AC%E5%85%B1%E5%89%8D%E7%BC%80.md)| [中文地址](https://leetcode-cn.com/problems/longest-common-prefix/) / [英文地址](https://leetcode.com/problems/longest-common-prefix/) | Java / Kotlin | Easy |
| 03 | [无重复字符的最长子串](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/character(%E5%AD%97%E7%AC%A6%E4%B8%B2)/0xD02%20LeetCode%20%E5%AD%97%E7%AC%A6%E4%B8%B2%EF%BC%9A%E6%97%A0%E9%87%8D%E5%A4%8D%E5%AD%97%E7%AC%A6%E7%9A%84%E6%9C%80%E9%95%BF%E5%AD%90%E4%B8%B2.md)| [中文地址](https://leetcode.com/problems/longest-substring-without-repeating-characters/) / [英文地址](https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/) | Java / Kotlin | Medium |
## 数学(持续更新中)
| 题号 | 题解 | 题目地址 | Language | Difficulty |
| :-: | :-: | :-: | :-: | :-: |
| 17 | [打印从1到最大的n位数](https://github.com/hi-dhl/Leetcode-Solutions-with-Java-And-Kotlin/blob/master/%E5%89%91%E6%8C%87offer/0xF17%20%E5%89%91%E6%8C%87%20offer%EF%BC%9A%20%E6%89%93%E5%8D%B0%E4%BB%8E1%E5%88%B0%E6%9C%80%E5%A4%A7%E7%9A%84n%E4%BD%8D%E6%95%B0.md) | [中文地址](https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof/)| Java / Kotlin | Easy |
## 排序(持续更新中)
排序:冒泡排序、插入排序、选择排序、希尔排序、归并排序、快速排序、堆排序
| 题号 | 题解 | 题目地址 | Language | Difficulty |
| :-: | :-: | :-: | :-: | :-: |-->