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

https://github.com/downdemo/leetcode-solutions-in-cpp17

Solutions to high-frequency interview questions of LeetCode in C++17, taking into account both efficiency and comprehensibility.
https://github.com/downdemo/leetcode-solutions-in-cpp17

data-structures-and-algorithms

Last synced: 7 months ago
JSON representation

Solutions to high-frequency interview questions of LeetCode in C++17, taking into account both efficiency and comprehensibility.

Awesome Lists containing this project

README

          

## [算法(Algorithm)](https://en.wikipedia.org/wiki/Algorithm)

* [《算法导论》](https://book.douban.com/subject/20432061/)([*Introduction to Algorithms*](https://book.douban.com/subject/3904676/),由 Thomas H. Cormen、Charles E. Leiserson、Ronald L. Rivest、Clifford Stein 合著,取四人名字的一个首字母,简称 CLRS,该书详细介绍了经典算法的原理,并给出了正确性证明)提到:“不正式地说,算法是任何定义明确的计算过程,该过程取某个值或值的集合作为输入,并产生某个值或值的集合作为输出,算法就是这样的把输入转换成输出的计算步骤的一个序列。”

> Informally, an algorithm is any well-defined computational procedure that takes
some value, or set of values, as input and produces some value, or set of values, as
output. An algorithm is thus a sequence of computational steps that transform the
input into the output.

* 算法是基于特定的计算模型,旨在解决某一信息处理问题而设计的一个指令序列。算法必须具有以下特征:
* 输入:待计算问题的任一实例,都需要以某种方式交给对应的算法,对所求解问题特定实例的这种描述统称为输入
* 输出:经计算和处理之后得到的信息,即针对输入问题实例的答案,称作输出
* 确定性:算法应可描述为由若干语义明确的基本操作组成的指令序列
* 可行性:每一基本操作在对应的计算模型中均可兑现
* 有穷性:任意算法都应在执行有限次基本操作之后终止并给出输出

## [时间复杂度(Time Complexity)](https://en.wikipedia.org/wiki/Time_complexity)

* 由于计算机不是无限快,内存不是免费的,计算时间和空间是一种有限资源,高效的算法可以更好地利用这些资源,因此算法可以像计算机硬件一样视为一种技术。度量算法成本的方式称为复杂度分析,复杂度可分为时间复杂度和空间复杂度。由于运行任一算法的空间消耗都不会多于运行期间进行的基本操作次数,即时间复杂度本身就是空间复杂度的上界,因此复杂度分析主要关注时间复杂度,而时间复杂度分析主要关注最坏情况下的运行时间,即最长运行时间。复杂度分析一般用渐进记号大 O 表示,它用一个函数来描述某个函数的数量级上界。最低复杂度是 `O(1)`,代表常数时间复杂度,因为不能指望没有任何代价来运行算法。依次递增的常见复杂度层级还有 `O(log log n)`、`O(log n)`、`O(√n)`、`O(n)`、`O(n log n)`、`O(n ^ 2)`、`O(n ^ 3)`、`O(2 ^ n)`、`O(n!)` 等

## 本项目详细解析的数据结构和算法

* [二分查找](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0034.md)
* [经典排序算法](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0912.md)
* [滑动窗口](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0076.md)
* [贪心算法](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0452.md)
* [分治法](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0215.md)
* [回溯法](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0017.md)
* [全排列](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0031.md)
* [二叉树遍历](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0094.md)
* [动态规划](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0010.md)
* [计算质数](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0204.md)
* [位运算](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0416.md)
* [最长回文子串](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0005.md)
* [字符串查找算法](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0028.md)
* [字典树](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0208.md)
* [并查集](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0200.md)
* [拓扑排序](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0207.md)
* [树状数组](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0315.md)
* [死锁避免](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/1226.md)

## C++ 中的[数据结构(Data Structure)](https://en.wikipedia.org/wiki/Data_structure)

* 计算机中存储和组织数据的方式称为数据结构,旨在便于访问和修改。没有一种单一的数据结构对所有用途均有效,所以重要的是知道几种数据结构的优势和局限。各种编程语言对于常用数据结构都提供了内置支持,比如哈希表的实现,在 C++ 中是 [std::unordered_map](https://en.cppreference.com/w/cpp/container/unordered_map),在 Java 中是 [HashMap](https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/HashMap.html)、在 C# 中是 [Hashtable](https://docs.microsoft.com/en-us/dotnet/api/system.collections.hashtable?view=net-5.0)、在 JavaScript 中是 [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)、在 Python 中是 [dict](https://docs.python.org/3.9/library/stdtypes.html#mapping-types-dict)、在 Go 中是 [map](https://golang.org/ref/spec#Map_types)、在 Rust 中是 [std::collections::HashMap](https://doc.rust-lang.org/std/collections/struct.HashMap.html)
* STL(Standard Template Library)是 C++ 标准规定的模板库接口规范,包括[容器(Container)](https://en.cppreference.com/w/cpp/container)、[迭代器(Iterator)](https://en.cppreference.com/w/cpp/iterator)、[算法(Algorithm)](https://en.cppreference.com/w/cpp/algorithm)、[函数对象(Function Object)](https://en.cppreference.com/w/cpp/utility/functional)等组件
* [STL 的历史](https://en.wikipedia.org/wiki/History_of_the_Standard_Template_Library)十分久远,1979 年,[Alexander Stepanov](https://en.wikipedia.org/wiki/Alexander_Stepanov)( [*Elements of Programming*](https://book.douban.com/subject/34670838/) 作者)开始考虑将常用算法抽象成一套泛型库
* 1987 年,Stepanov 和 [David Musser](https://en.wikipedia.org/wiki/David_Musser) 发布了首个 Ada 版本的泛型算法库,但 Ada 在美国国防工业外未被广泛接受。Alexander Stepanov 认为 C++ 通过指针访问内存的计算模型提供了非常高的灵活度,于是开始使用 C++ 开发泛型算法库,由于 C++ 还没有模板机制,泛型库的实现十分笨拙
* 1988 年,Bjarne Stroustrup(C++ 之父,[*The Design and Evolution of C++*](https://book.douban.com/subject/1456860/) 作者) 在 Denver 召开的 USENIX C++ 会议上首次发表了模板相关的设计
* 1992 年, 惠普实验室的 Meng Lee 加入了 Alexander Stepanov 的项目,成为 HP STL(首个 STL 版本)的另一位主要贡献者
* 1993 年,贝尔实验室的 Andrew Koenig(前 ISO C++ 标准化委员会主席,[*Ruminations on C++*](https://book.douban.com/subject/1829377/) 作者)得知了这项计划,于是请 Alexander Stepanov 在 1993 年 11 月的 ANSI/ISO C++ 标准委员会会议上展示其计划。此计划得到了委员会的极大反响,被请求于 1994 年 3 月会议前给出正式提案
* 1994 年 3 月会议上,由于 STL 内容过多,仍有部分细节需要给出证明,STL 进入标准的投票延期到下一次会议
* 1994 年 7 月,STL 正式纳入 1994 ANSI/ISO 草案
* 1994 年 8 月,惠普决定在互联网上免费提供 STL 的实现
* STL 是 C++ 标准库的一部分,目前三大操作系统的标准库实现各不相同,Linux 下 [GCC](https://gcc.gnu.org/) 使用的是 [libstdc++](https://gcc.gnu.org/onlinedocs/libstdc++/),Mac OS 下 [Clang](https://clang.llvm.org/get_started.html) 使用的是 [libc++](https://libcxx.llvm.org/),Windows 下 [Visual Studio](https://visualstudio.microsoft.com/zh-hans/) 的 MSVC 使用的是 [MSVC STL](https://github.com/microsoft/STL)
* STL 提供了一些较为通用的数据结构,这些数据结构在 C++ 中称为容器,C++11 中包含如下容器
* 序列容器(能按顺序访问)
* [std::array](https://en.cppreference.com/w/cpp/container/array):定长连续数组
* [std::vector](https://en.cppreference.com/w/cpp/container/vector):向量,可动态扩展的连续数组,随机访问、末尾插入、末尾移除元素均摊 `O(1)`,插入或移除元素与到尾后迭代器的距离成线性 `O(n)`
* [std::deque](https://en.cppreference.com/w/cpp/container/deque):双端队列,随机访问、起始或末尾位置插入或移除元素时间复杂度 `O(1)`,插入或移除元素时间复杂度 `O(n)`
* [std::forward_list](https://en.cppreference.com/w/cpp/container/forward_list):单向链表,不支持快速随机访问,插入或移除元素时间复杂度 `O(1)`
* [std::list](https://en.cppreference.com/w/cpp/container/list):双向链表,不支持快速随机访问,插入或移除元素时间复杂度 `O(1)`
* 关联容器(以[红黑树](https://en.wikipedia.org/wiki/Red%E2%80%93black_tree)实现,查找时间复杂度 `O(log n)`)
* [std::set](https://en.cppreference.com/w/cpp/container/set):唯一键的集合,按照键排序
* [std::map](https://en.cppreference.com/w/cpp/container/map):键值对集合,按照键排序,键唯一
* [std::multiset](https://en.cppreference.com/w/cpp/container/multiset):键集合,按照键排序,不要求键唯一
* [std::multimap](https://en.cppreference.com/w/cpp/container/multimap):键值对集合,按照键排序,不要求键唯一
* 无序关联容器(以哈希表实现,查找时间复杂度均摊 `O(1)`,最坏情况 `O(n)`)
* [std::unordered_set](https://en.cppreference.com/w/cpp/container/unordered_set):唯一键的集合,不要求有序
* [std::unordered_map](https://en.cppreference.com/w/cpp/container/unordered_map):键值对集合,不要求有序
* [std::unordered_multiset](https://en.cppreference.com/w/cpp/container/unordered_multiset):键集合,不要求有序和键唯一
* [std::unordered_multimap](https://en.cppreference.com/w/cpp/container/unordered_multimap):键值对集合,不要求有序和键唯一
* 容器适配器(基于序列容器实现,提供与容器不同的接口)
* [std::stack](https://en.cppreference.com/w/cpp/container/stack):栈,LIFO(后进的元素先出)
* [std::queue](https://en.cppreference.com/w/cpp/container/queue):队列,FIFO(先进的元素先出)
* [std::priority_queue](https://en.cppreference.com/w/cpp/container/priority_queue):优先队列,即堆,默认为大顶堆,默认比较函数为 [std::less](https://en.cppreference.com/w/cpp/utility/functional/less)
* 此外 C++17 包含如下特殊类型数据结构
* [std::bitset](https://en.cppreference.com/w/cpp/utility/bitset):位图
* [std::tuple](https://en.cppreference.com/w/cpp/utility/tuple):元组,元素类型可以不同
* [std::pair](https://en.cppreference.com/w/cpp/utility/pair):二元组
* [std::optional](https://en.cppreference.com/w/cpp/utility/optional):既可以包含值也可以为空,类似于 [Haskell 中的 Maybe](https://wiki.haskell.org/Maybe)
* [std::variant](https://en.cppreference.com/w/cpp/utility/variant):类型安全的 union
* [std::any](https://en.cppreference.com/w/cpp/utility/any):单个值的类型安全容器

## [LeetCode](https://leetcode.com/)([力扣](https://leetcode-cn.com/))

* 2015 年,[Winston Tang](https://www.linkedin.com/in/winston-tang/) 创办 LeetCode,[Leet](https://en.wikipedia.org/wiki/Leet) 是一种发源于西方国家的 BBS、在线游戏和黑客社区所使用的文字书写方式,通常是把拉丁字母转变成数字或是特殊符号,例如 E 写成 3、A 写成 @ 等,或是将单字写成同音的字母或数字,如 to 写成 2、for 写成 4 等等,Winston Tang 的用户名为 1337c0d3r,是 LeetCoder 的 Leet 写法,由此取名 LeetCode
* 2018 年 2 月,LeetCode 上线中文平台[力扣](https://leetcode-cn.com/)
* LeetCode 是一个上手简单的 OJ(Online Judge) 平台,以程序员求职面试时的编程真题为主,为其提供训练编码能力的实践平台。LeetCode 支持多种编程语言,包括 C、C++、Java、C#、Python、JavaScript、TypeScript、Ruby、Go、Rust、Scala、Swift、Kotlin、PHP
* LeetCode 默认支持 C++17,不需要包含头文件和命名空间,用户只需要关注核心算法的实现过程,答案正确时会给出算法效率的排名,错误时会给出对应的测试用例,使用上十分便捷。此项目采用 C++17 作为解题语言,旨在练习并解释常见的数据结构与经典算法,对于能直接用 STL 实现的,会给出更具体的实现,以阐述 STL 的原理

## Category

|Tag|中文站|Category|
|:-|:-|:-|
|[Top Interview Questions-Easy Collection](https://leetcode.com/explore/interview/card/top-interview-questions-easy/)|[初级算法](https://leetcode-cn.com/explore/featured/card/top-interview-questions-easy/)|[Reference](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/tree/master/docs/category/Top-Interview-Questions-Easy.md)|
|[Top Interview Questions-Medium Collection](https://leetcode.com/explore/interview/card/top-interview-questions-medium/)|[中级算法](https://leetcode-cn.com/explore/interview/card/top-interview-questions-medium/)|[Reference](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/tree/master/docs/category/Top-Interview-Questions-Medium.md)|
|[Top Interview Questions-Hard Collection](https://leetcode.com/explore/interview/card/top-interview-questions-hard/)|[高级算法](https://leetcode-cn.com/explore/interview/card/top-interview-questions-hard/)|[Reference](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/tree/master/docs/category/Top-Interview-Questions-Hard.md)|
|[Concurrency](https://leetcode.com/problemset/concurrency/)|[多线程](https://leetcode-cn.com/problemset/concurrency/)|[Reference](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/tree/master/docs/category/Concurrency.md)|

## Problem

|#|Title|中文站|Solution|Code|
|:-|:-|:-|:-|:-|
|0001|[Two Sum](https://leetcode.com/problems/two-sum)|[两数之和](https://leetcode-cn.com/problems/two-sum/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0001.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0001.cpp)|
|0002|[Add Two Numbers](https://leetcode.com/problems/add-two-numbers)|[两数相加](https://leetcode-cn.com/problems/add-two-numbers)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0002.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0002.cpp)|
|0003|[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters)|[无重复字符的最长子串](https://leetcode-cn.com/problems/longest-substring-without-repeating-characters)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0003.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0003.cpp)|
|0004|[Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays)|[寻找两个有序数组的中位数](https://leetcode-cn.com/problems/median-of-two-sorted-arrays)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0004.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0004.cpp)|
|0005|[Longest Palindromic Substring](https://leetcode.com/problems/longest-palindromic-substring)|[最长回文子串](https://leetcode-cn.com/problems/longest-palindromic-substring)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0005.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0005.cpp)|
|0007|[Reverse Integer](https://leetcode.com/problems/reverse-integer)|[整数反转](https://leetcode-cn.com/problems/reverse-integer)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0007.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0007.cpp)|
|0008|[String to Integer (atoi)](https://leetcode.com/problems/string-to-integer-atoi)|[字符串转换整数 (atoi)](https://leetcode-cn.com/problems/string-to-integer-atoi)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0008.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0008.cpp)|
|0010|[Regular Expression Matching](https://leetcode.com/problems/regular-expression-matching)|[正则表达式匹配](https://leetcode-cn.com/problems/regular-expression-matching)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0010.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0010.cpp)|
|0011|[Container With Most Water](https://leetcode.com/problems/container-with-most-water)|[盛最多水的容器](https://leetcode-cn.com/problems/container-with-most-water)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0011.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0011.cpp)|
|0013|[Roman to Integer](https://leetcode.com/problems/roman-to-integer)|[罗马数字转整数](https://leetcode-cn.com/problems/roman-to-integer)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0013.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0013.cpp)|
|0014|[Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix)|[最长公共前缀](https://leetcode-cn.com/problems/longest-common-prefix)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0014.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0014.cpp)|
|0015|[3Sum](https://leetcode.com/problems/3sum)|[三数之和](https://leetcode-cn.com/problems/3sum)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0015.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0015.cpp)|
|0017|[Letter Combinations of a Phone Number](https://leetcode.com/problems/letter-combinations-of-a-phone-number)|[电话号码的字母组合](https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0017.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0017.cpp)|
|0019|[Remove Nth Node From End of List](https://leetcode.com/problems/remove-nth-node-from-end-of-list)|[删除链表的倒数第 N 个节点](https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0019.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0019.cpp)|
|0020|[Valid Parentheses](https://leetcode.com/problems/valid-parentheses)|[有效的括号](https://leetcode-cn.com/problems/valid-parentheses)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0020.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0020.cpp)|
|0021|[Merge Two Sorted Lists](https://leetcode.com/problems/merge-two-sorted-lists)|[合并两个有序链表](https://leetcode-cn.com/problems/merge-two-sorted-lists)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0021.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0021.cpp)|
|0022|[Generate Parentheses](https://leetcode.com/problems/generate-parentheses)|[括号生成](https://leetcode-cn.com/problems/generate-parentheses)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0022.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0022.cpp)|
|0023|[Merge k Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists)|[合并 K 个排序链表](https://leetcode-cn.com/problems/merge-k-sorted-lists)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0023.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0023.cpp)|
|0026|[Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array)|[删除排序数组中的重复项](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0026.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0026.cpp)|
|0028|[Implement strStr()](https://leetcode.com/problems/implement-strstr)|[实现 strStr()](https://leetcode-cn.com/problems/implement-strstr)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0028.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0028.cpp)|
|0029|[Divide Two Integers](https://leetcode.com/problems/divide-two-integers)|[两数相除](https://leetcode-cn.com/problems/divide-two-integers)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0029.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0029.cpp)|
|0031|[Next Permutation](https://leetcode.com/problems/next-permutation)|[下一个排列](https://leetcode-cn.com/problems/next-permutation)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0031.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0031.cpp)|
|0032|[Longest Valid Parentheses](https://leetcode.com/problems/longest-valid-parentheses)|[最长有效括号](https://leetcode-cn.com/problems/longest-valid-parentheses)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0032.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0032.cpp)|
|0033|[Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array)|[搜索旋转排序数组](https://leetcode-cn.com/problems/search-in-rotated-sorted-array)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0033.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0033.cpp)|
|0034|[Find First and Last Position of Element in Sorted Array](https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array)|[在排序数组中查找元素的第一个和最后一个位置](https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0034.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0034.cpp)|
|0036|[Valid Sudoku](https://leetcode.com/problems/valid-sudoku)|[有效的数独](https://leetcode-cn.com/problems/valid-sudoku)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0036.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0036.cpp)|
|0038|[Count and Say](https://leetcode.com/problems/count-and-say)|[外观数列](https://leetcode-cn.com/problems/count-and-say)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0038.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0038.cpp)|
|0039|[Combination Sum](https://leetcode.com/problems/combination-sum)|[组合总和](https://leetcode-cn.com/problems/combination-sum)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0039.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0039.cpp)|
|0041|[First Missing Positive](https://leetcode.com/problems/first-missing-positive)|[缺失的第一个正数](https://leetcode-cn.com/problems/first-missing-positive)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0041.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0041.cpp)|
|0042|[Trapping Rain Water](https://leetcode.com/problems/trapping-rain-water)|[接雨水](https://leetcode-cn.com/problems/trapping-rain-water)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0042.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0042.cpp)|
|0044|[Wildcard Matching](https://leetcode.com/problems/wildcard-matching)|[通配符匹配](https://leetcode-cn.com/problems/wildcard-matching)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0044.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0044.cpp)|
|0046|[Permutations](https://leetcode.com/problems/permutations)|[全排列](https://leetcode-cn.com/problems/permutations)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0046.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0046.cpp)|
|0048|[Rotate Image](https://leetcode.com/problems/rotate-image)|[旋转图像](https://leetcode-cn.com/problems/rotate-image)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0048.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0048.cpp)|
|0049|[Group Anagrams](https://leetcode.com/problems/group-anagrams)|[字母异位词分组](https://leetcode-cn.com/problems/group-anagrams)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0049.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0049.cpp)|
|0050|[Pow(x, n)](https://leetcode.com/problems/powx-n)|[Pow(x, n)](https://leetcode-cn.com/problems/powx-n)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0050.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0050.cpp)|
|0051|[N-Queens](https://leetcode.com/problems/n-queens)|[N 皇后](https://leetcode-cn.com/problems/n-queens)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0051.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0051.cpp)|
|0053|[Maximum Subarray](https://leetcode.com/problems/maximum-subarray)|[最大子序和](https://leetcode-cn.com/problems/maximum-subarray)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0053.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0053.cpp)|
|0054|[Spiral Matrix](https://leetcode.com/problems/spiral-matrix)|[螺旋矩阵](https://leetcode-cn.com/problems/spiral-matrix)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0054.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0054.cpp)|
|0055|[Jump Game](https://leetcode.com/problems/jump-game)|[跳跃游戏](https://leetcode-cn.com/problems/jump-game)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0055.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0055.cpp)|
|0056|[Merge Intervals](https://leetcode.com/problems/merge-intervals)|[合并区间](https://leetcode-cn.com/problems/merge-intervals)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0056.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0056.cpp)|
|0062|[Unique Paths](https://leetcode.com/problems/unique-paths)|[不同路径](https://leetcode-cn.com/problems/unique-paths)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0062.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0062.cpp)|
|0066|[Plus One](https://leetcode.com/problems/plus-one)|[加一](https://leetcode-cn.com/problems/plus-one)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0066.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0066.cpp)|
|0069|[Sqrt(x)](https://leetcode.com/problems/sqrtx)|[x 的平方根](https://leetcode-cn.com/problems/sqrtx)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0069.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0069.cpp)|
|0070|[Climbing Stairs](https://leetcode.com/problems/climbing-stairs)|[爬楼梯](https://leetcode-cn.com/problems/climbing-stairs)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0070.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0070.cpp)|
|0071|[Simplify Path](https://leetcode.com/problems/simplify-path/)|[简化路径](https://leetcode-cn.com/problems/simplify-path/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0071.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0071.cpp)|
|0072|[Edit Distance](https://leetcode.com/problems/edit-distance)|[编辑距离](https://leetcode-cn.com/problems/edit-distance)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0072.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0072.cpp)|
|0073|[Set Matrix Zeroes](https://leetcode.com/problems/set-matrix-zeroes)|[矩阵置零](https://leetcode-cn.com/problems/set-matrix-zeroes)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0073.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0073.cpp)|
|0075|[Sort Colors](https://leetcode.com/problems/sort-colors)|[颜色分类](https://leetcode-cn.com/problems/sort-colors)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0075.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0075.cpp)|
|0076|[Minimum Window Substring](https://leetcode.com/problems/minimum-window-substring)|[最小覆盖子串](https://leetcode-cn.com/problems/minimum-window-substring)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0076.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0076.cpp)|
|0078|[Subsets](https://leetcode.com/problems/subsets)|[子集](https://leetcode-cn.com/problems/subsets)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0078.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0078.cpp)|
|0079|[Word Search](https://leetcode.com/problems/word-search)|[单词搜索](https://leetcode-cn.com/problems/word-search)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0079.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0079.cpp)|
|0084|[Largest Rectangle in Histogram](https://leetcode.com/problems/largest-rectangle-in-histogram)|[柱状图中最大的矩形](https://leetcode-cn.com/problems/largest-rectangle-in-histogram)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0084.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0084.cpp)|
|0085|[Maximal Rectangle](https://leetcode.com/problems/maximal-rectangle)|[最大矩形](https://leetcode-cn.com/problems/maximal-rectangle)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0085.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0085.cpp)|
|0088|[Merge Sorted Array](https://leetcode.com/problems/merge-sorted-array)|[合并两个有序数组](https://leetcode-cn.com/problems/merge-sorted-array)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0088.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0088.cpp)|
|0091|[Decode Ways](https://leetcode.com/problems/decode-ways/)|[解码方法](https://leetcode-cn.com/problems/decode-ways/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0091.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0091.cpp)|
|0094|[Binary Tree Inorder Traversal](https://leetcode.com/problems/binary-tree-inorder-traversal)|[二叉树的中序遍历](https://leetcode-cn.com/problems/binary-tree-inorder-traversal)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0094.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0094.cpp)|
|0096|[Unique Binary Search Trees](https://leetcode.com/problems/unique-binary-search-trees)|[不同的二叉搜索树](https://leetcode-cn.com/problems/unique-binary-search-trees)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0096.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0096.cpp)|
|0098|[Validate Binary Search Tree](https://leetcode.com/problems/validate-binary-search-tree)|[验证二叉搜索树](https://leetcode-cn.com/problems/validate-binary-search-tree)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0098.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0098.cpp)|
|0101|[Symmetric Tree](https://leetcode.com/problems/symmetric-tree)|[对称二叉树](https://leetcode-cn.com/problems/symmetric-tree)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0101.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0101.cpp)|
|0102|[Binary Tree Level Order Traversal](https://leetcode.com/problems/binary-tree-level-order-traversal)|[二叉树的层序遍历](https://leetcode-cn.com/problems/binary-tree-level-order-traversal)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0102.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0102.cpp)|
|0103|[Binary Tree Zigzag Level Order Traversal](https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal)|[二叉树的锯齿形层次遍历](https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0103.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0103.cpp)|
|0104|[Maximum Depth of Binary Tree](https://leetcode.com/problems/maximum-depth-of-binary-tree)|[二叉树的最大深度](https://leetcode-cn.com/problems/maximum-depth-of-binary-tree)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0104.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0104.cpp)|
|0105|[Construct Binary Tree from Preorder and Inorder Traversal](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)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0105.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0105.cpp)|
|0106|[Construct Binary Tree from Inorder and Postorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal)|[从中序与后序遍历序列构造二叉树](https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0106.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0106.cpp)|
|0108|[Convert Sorted Array to Binary Search Tree](https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree)|[将有序数组转换为二叉搜索树](https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0108.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0108.cpp)|
|0112|[Path Sum](https://leetcode.com/problems/path-sum/)|[路径总和](https://leetcode-cn.com/problems/path-sum/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0112.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0112.cpp)|
|0114|[Flatten Binary Tree to Linked List](https://leetcode.com/problems/flatten-binary-tree-to-linked-list)|[二叉树展开为链表](https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0114.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0114.cpp)|
|0116|[Populating Next Right Pointers in Each Node](https://leetcode.com/problems/populating-next-right-pointers-in-each-node)|[填充每个节点的下一个右侧节点指针](https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0116.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0116.cpp)|
|0117|[Populating Next Right Pointers in Each Node II](https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/)|[填充每个节点的下一个右侧节点指针 II](https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node-ii/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0117.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0117.cpp)|
|0118|[Pascal's Triangle](https://leetcode.com/problems/pascals-triangle)|[杨辉三角](https://leetcode-cn.com/problems/pascals-triangle)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0118.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0118.cpp)|
|0121|[Best Time to Buy and Sell Stock](https://leetcode.com/problems/best-time-to-buy-and-sell-stock)|[买卖股票的最佳时机](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0121.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0121.cpp)|
|0122|[Best Time to Buy and Sell Stock II](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii)|[买卖股票的最佳时机 II](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0122.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0122.cpp)|
|0124|[Binary Tree Maximum Path Sum](https://leetcode.com/problems/binary-tree-maximum-path-sum)|[二叉树中的最大路径和](https://leetcode-cn.com/problems/binary-tree-maximum-path-sum)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0124.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0124.cpp)|
|0125|[Valid Palindrome](https://leetcode.com/problems/valid-palindrome)|[验证回文串](https://leetcode-cn.com/problems/valid-palindrome)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0125.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0125.cpp)|
|0127|[Word Ladder](https://leetcode.com/problems/word-ladder)|[单词接龙](https://leetcode-cn.com/problems/word-ladder)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0127.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0127.cpp)|
|0128|[Longest Consecutive Sequence](https://leetcode.com/problems/longest-consecutive-sequence)|[最长连续序列](https://leetcode-cn.com/problems/longest-consecutive-sequence)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0128.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0128.cpp)|
|0130|[Surrounded Regions](https://leetcode.com/problems/surrounded-regions)|[被围绕的区域](https://leetcode-cn.com/problems/surrounded-regions)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0130.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0130.cpp)|
|0131|[Palindrome Partitioning](https://leetcode.com/problems/palindrome-partitioning)|[分割回文串](https://leetcode-cn.com/problems/palindrome-partitioning)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0131.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0131.cpp)|
|0134|[Gas Station](https://leetcode.com/problems/gas-station)|[加油站](https://leetcode-cn.com/problems/gas-station)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0134.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0134.cpp)|
|0136|[Single Number](https://leetcode.com/problems/single-number)|[只出现一次的数字](https://leetcode-cn.com/problems/single-number)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0136.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0136.cpp)|
|0138|[Copy List with Random Pointer](https://leetcode.com/problems/copy-list-with-random-pointer)|[复制带随机指针的链表](https://leetcode-cn.com/problems/copy-list-with-random-pointer)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0138.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0138.cpp)|
|0139|[Word Break](https://leetcode.com/problems/word-break)|[单词拆分](https://leetcode-cn.com/problems/word-break)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0139.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0139.cpp)|
|0140|[Word Break II](https://leetcode.com/problems/word-break-ii)|[单词拆分 II](https://leetcode-cn.com/problems/word-break-ii)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0140.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0140.cpp)|
|0141|[Linked List Cycle](https://leetcode.com/problems/linked-list-cycle)|[环形链表](https://leetcode-cn.com/problems/linked-list-cycle)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0141.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0141.cpp)|
|0144|[Binary Tree Preorder Traversal](https://leetcode.com/problems/binary-tree-preorder-traversal)|[二叉树的前序遍历](https://leetcode-cn.com/problems/binary-tree-preorder-traversal)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0144.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0144.cpp)|
|0145|[Binary Tree Postorder Traversal](https://leetcode.com/problems/binary-tree-postorder-traversal)|[二叉树的后序遍历](https://leetcode-cn.com/problems/binary-tree-postorder-traversal)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0145.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0145.cpp)|
|0146|[LRU Cache](https://leetcode.com/problems/lru-cache)|[LRU 缓存机制](https://leetcode-cn.com/problems/lru-cache)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0146.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0146.cpp)|
|0148|[Sort List](https://leetcode.com/problems/sort-list)|[排序链表](https://leetcode-cn.com/problems/sort-list)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0148.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0148.cpp)|
|0149|[Max Points on a Line](https://leetcode.com/problems/max-points-on-a-line)|[直线上最多的点数](https://leetcode-cn.com/problems/max-points-on-a-line)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0149.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0149.cpp)|
|0150|[Evaluate Reverse Polish Notation](https://leetcode.com/problems/evaluate-reverse-polish-notation)|[逆波兰表达式求值](https://leetcode-cn.com/problems/evaluate-reverse-polish-notation)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0150.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0150.cpp)|
|0151|[Reverse Words in a String](https://leetcode.com/problems/reverse-words-in-a-string/)|[翻转字符串里的单词](https://leetcode-cn.com/problems/reverse-words-in-a-string/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0151.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0151.cpp)|
|0152|[Maximum Product Subarray](https://leetcode.com/problems/maximum-product-subarray)|[乘积最大子数组](https://leetcode-cn.com/problems/maximum-product-subarray)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0152.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0152.cpp)|
|0153|[Find Minimum in Rotated Sorted Array](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/)|[寻找旋转排序数组中的最小值](https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0153.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0153.cpp)|
|0155|[Min Stack](https://leetcode.com/problems/min-stack)|[最小栈](https://leetcode-cn.com/problems/min-stack)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0155.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0155.cpp)|
|0160|[Intersection of Two Linked Lists](https://leetcode.com/problems/intersection-of-two-linked-lists)|[相交链表](https://leetcode-cn.com/problems/intersection-of-two-linked-lists)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0160.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0160.cpp)|
|0162|[Find Peak Element](https://leetcode.com/problems/find-peak-element)|[寻找峰值](https://leetcode-cn.com/problems/find-peak-element)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0162.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0162.cpp)|
|0165|[Compare Version Numbers](https://leetcode.com/problems/compare-version-numbers/)|[比较版本号](https://leetcode-cn.com/problems/compare-version-numbers/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0165.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0165.cpp)|
|0166|[Fraction to Recurring Decimal](https://leetcode.com/problems/fraction-to-recurring-decimal)|[分数到小数](https://leetcode-cn.com/problems/fraction-to-recurring-decimal)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0166.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0166.cpp)|
|0168|[Excel Sheet Column Title](https://leetcode.com/problems/excel-sheet-column-title/)|[Excel 表列名称](https://leetcode-cn.com/problems/excel-sheet-column-title/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0168.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0168.cpp)|
|0169|[Majority Element](https://leetcode.com/problems/majority-element)|[多数元素](https://leetcode-cn.com/problems/majority-element)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0169.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0169.cpp)|
|0171|[Excel Sheet Column Number](https://leetcode.com/problems/excel-sheet-column-number)|[Excel 表列序号](https://leetcode-cn.com/problems/excel-sheet-column-number)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0171.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0171.cpp)|
|0172|[Factorial Trailing Zeroes](https://leetcode.com/problems/factorial-trailing-zeroes)|[阶乘后的零](https://leetcode-cn.com/problems/factorial-trailing-zeroes)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0172.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0172.cpp)|
|0173|[Binary Search Tree Iterator](https://leetcode.com/problems/binary-search-tree-iterator)|[二叉搜索树迭代器](https://leetcode-cn.com/problems/binary-search-tree-iterator)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0173.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0173.cpp)|
|0174|[Dungeon Game](https://leetcode.com/problems/dungeon-game/)|[地下城游戏](https://leetcode-cn.com/problems/dungeon-game/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0174.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0174.cpp)|
|0179|[Largest Number](https://leetcode.com/problems/largest-number)|[最大数](https://leetcode-cn.com/problems/largest-number)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0179.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0179.cpp)|
|0189|[Rotate Array](https://leetcode.com/problems/rotate-array)|[旋转数组](https://leetcode-cn.com/problems/rotate-array)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0189.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0189.cpp)|
|0190|[Reverse Bits](https://leetcode.com/problems/reverse-bits)|[颠倒二进制位](https://leetcode-cn.com/problems/reverse-bits)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0190.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0190.cpp)|
|0191|[Number of 1 Bits](https://leetcode.com/problems/number-of-1-bits)|[位 1 的个数](https://leetcode-cn.com/problems/number-of-1-bits)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0191.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0191.cpp)|
|0198|[House Robber](https://leetcode.com/problems/house-robber)|[打家劫舍](https://leetcode-cn.com/problems/house-robber)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0198.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0198.cpp)|
|0200|[Number of Islands](https://leetcode.com/problems/number-of-islands)|[岛屿数量](https://leetcode-cn.com/problems/number-of-islands)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0200.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0200.cpp)|
|0202|[Happy Number](https://leetcode.com/problems/happy-number)|[快乐数](https://leetcode-cn.com/problems/happy-number)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0202.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0202.cpp)|
|0204|[Count Primes](https://leetcode.com/problems/count-primes)|[计数质数](https://leetcode-cn.com/problems/count-primes)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0204.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0204.cpp)|
|0206|[Reverse Linked List](https://leetcode.com/problems/reverse-linked-list)|[反转链表](https://leetcode-cn.com/problems/reverse-linked-list)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0206.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0206.cpp)|
|0207|[Course Schedule](https://leetcode.com/problems/course-schedule)|[课程表](https://leetcode-cn.com/problems/course-schedule)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0207.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0207.cpp)|
|0208|[Implement Trie (Prefix Tree)](https://leetcode.com/problems/implement-trie-prefix-tree)|[实现 Trie (前缀树)](https://leetcode-cn.com/problems/implement-trie-prefix-tree)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0208.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0208.cpp)|
|0210|[Course Schedule II](https://leetcode.com/problems/course-schedule-ii)|[课程表 II](https://leetcode-cn.com/problems/course-schedule-ii)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0210.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0210.cpp)|
|0212|[Word Search II](https://leetcode.com/problems/word-search-ii)|[单词搜索 II](https://leetcode-cn.com/problems/word-search-ii)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0212.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0212.cpp)|
|0213|[House Robber II](https://leetcode.com/problems/house-robber-ii/)|[打家劫舍 II](https://leetcode-cn.com/problems/house-robber-ii/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0213.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0213.cpp)|
|0215|[Kth Largest Element in an Array](https://leetcode.com/problems/kth-largest-element-in-an-array)|[数组中的第 K 个最大元素](https://leetcode-cn.com/problems/kth-largest-element-in-an-array)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0215.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0215.cpp)|
|0217|[Contains Duplicate](https://leetcode.com/problems/contains-duplicate)|[存在重复元素](https://leetcode-cn.com/problems/contains-duplicate)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0217.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0217.cpp)|
|0218|[The Skyline Problem](https://leetcode.com/problems/the-skyline-problem)|[天际线问题](https://leetcode-cn.com/problems/the-skyline-problem)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0218.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0218.cpp)|
|0221|[Maximal Square](https://leetcode.com/problems/maximal-square)|[最大正方形](https://leetcode-cn.com/problems/maximal-square)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0221.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0221.cpp)|
|0227|[Basic Calculator II](https://leetcode.com/problems/basic-calculator-ii)|[基本计算器 II](https://leetcode-cn.com/problems/basic-calculator-ii)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0227.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0227.cpp)|
|0230|[Kth Smallest Element in a BST](https://leetcode.com/problems/kth-smallest-element-in-a-bst)|[二叉搜索树中第 K 小的元素](https://leetcode-cn.com/problems/kth-smallest-element-in-a-bst)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0230.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0230.cpp)|
|0232|[Implement Queue using Stacks](https://leetcode.com/problems/implement-queue-using-stacks/)|[用栈实现队列](https://leetcode-cn.com/problems/implement-queue-using-stacks/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0232.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0232.cpp)|
|0234|[Palindrome Linked List](https://leetcode.com/problems/palindrome-linked-list)|[回文链表](https://leetcode-cn.com/problems/palindrome-linked-list)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0234.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0234.cpp)|
|0235|[Lowest Common Ancestor of a Binary Search Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/)|[二叉搜索树的最近公共祖先](https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0235.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0235.cpp)|
|0236|[Lowest Common Ancestor of a Binary Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree)|[二叉树的最近公共祖先](https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0236.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0236.cpp)|
|0237|[Delete Node in a Linked List](https://leetcode.com/problems/delete-node-in-a-linked-list)|[删除链表中的节点](https://leetcode-cn.com/problems/delete-node-in-a-linked-list)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0237.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0237.cpp)|
|0238|[Product of Array Except Self](https://leetcode.com/problems/product-of-array-except-self)|[除自身以外数组的乘积](https://leetcode-cn.com/problems/product-of-array-except-self)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0238.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0238.cpp)|
|0239|[Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum)|[滑动窗口最大值](https://leetcode-cn.com/problems/sliding-window-maximum)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0239.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0239.cpp)|
|0240|[Search a 2D Matrix II](https://leetcode.com/problems/search-a-2d-matrix-ii)|[搜索二维矩阵 II](https://leetcode-cn.com/problems/search-a-2d-matrix-ii)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0240.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0240.cpp)|
|0242|[Valid Anagram](https://leetcode.com/problems/valid-anagram)|[有效的字母异位词](https://leetcode-cn.com/problems/valid-anagram)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0242.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0242.cpp)|
|0258|[Add Digits](https://leetcode.com/problems/add-digits/)|[各位相加](https://leetcode-cn.com/problems/add-digits/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0258.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0258.cpp)|
|0268|[Missing Number](https://leetcode.com/problems/missing-number)|[缺失数字](https://leetcode-cn.com/problems/missing-number)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0268.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0268.cpp)|
|0273|[Integer to English Words](https://leetcode.com/problems/integer-to-english-words/)|[整数转换英文表示](https://leetcode-cn.com/problems/integer-to-english-words/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0273.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0273.cpp)|
|0278|[First Bad Version](https://leetcode.com/problems/first-bad-version)|[第一个错误的版本](https://leetcode-cn.com/problems/first-bad-version)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0278.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0278.cpp)|
|0279|[Perfect Squares](https://leetcode.com/problems/perfect-squares)|[完全平方数](https://leetcode-cn.com/problems/perfect-squares)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0279.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0279.cpp)|
|0283|[Move Zeroes](https://leetcode.com/problems/move-zeroes)|[移动零](https://leetcode-cn.com/problems/move-zeroes)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0283.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0283.cpp)|
|0287|[Find the Duplicate Number](https://leetcode.com/problems/find-the-duplicate-number)|[寻找重复数](https://leetcode-cn.com/problems/find-the-duplicate-number)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0287.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0287.cpp)|
|0289|[Game of Life](https://leetcode.com/problems/game-of-life)|[生命游戏](https://leetcode-cn.com/problems/game-of-life)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0289.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0289.cpp)|
|0295|[Find Median from Data Stream](https://leetcode.com/problems/find-median-from-data-stream)|[数据流的中位数](https://leetcode-cn.com/problems/find-median-from-data-stream)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0295.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0295.cpp)|
|0297|[Serialize and Deserialize Binary Tree](https://leetcode.com/problems/serialize-and-deserialize-binary-tree)|[二叉树的序列化与反序列化](https://leetcode-cn.com/problems/serialize-and-deserialize-binary-tree)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0297.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0297.cpp)|
|0300|[Longest Increasing Subsequence](https://leetcode.com/problems/longest-increasing-subsequence)|[最长上升子序列](https://leetcode-cn.com/problems/longest-increasing-subsequence)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0300.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0300.cpp)|
|0301|[Remove Invalid Parentheses](https://leetcode.com/problems/remove-invalid-parentheses)|[删除无效的括号](https://leetcode-cn.com/problems/remove-invalid-parentheses)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0301.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0301.cpp)|
|0309|[Best Time to Buy and Sell Stock with Cooldown](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown)|[最佳买卖股票时机含冷冻期](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-cooldown)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0309.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0309.cpp)|
|0312|[Burst Balloons](https://leetcode.com/problems/burst-balloons)|[戳气球](https://leetcode-cn.com/problems/burst-balloons)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0312.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0312.cpp)|
|0315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self)|[计算右侧小于当前元素的个数](https://leetcode-cn.com/problems/count-of-smaller-numbers-after-self)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0315.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0315.cpp)|
|0322|[Coin Change](https://leetcode.com/problems/coin-change)|[零钱兑换](https://leetcode-cn.com/problems/coin-change)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0322.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0322.cpp)|
|0324|[Wiggle Sort II](https://leetcode.com/problems/wiggle-sort-ii)|[摆动排序 II](https://leetcode-cn.com/problems/wiggle-sort-ii)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0324.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0324.cpp)|
|0326|[Power of Three](https://leetcode.com/problems/power-of-three)|[3 的幂](https://leetcode-cn.com/problems/power-of-three)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0326.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0326.cpp)|
|0328|[Odd Even Linked List](https://leetcode.com/problems/odd-even-linked-list)|[奇偶链表](https://leetcode-cn.com/problems/odd-even-linked-list)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0328.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0328.cpp)|
|0329|[Longest Increasing Path in a Matrix](https://leetcode.com/problems/longest-increasing-path-in-a-matrix)|[矩阵中的最长递增路径](https://leetcode-cn.com/problems/longest-increasing-path-in-a-matrix)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0329.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0329.cpp)|
|0334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence)|[递增的三元子序列](https://leetcode-cn.com/problems/increasing-triplet-subsequence)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0334.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0334.cpp)|
|0337|[House Robber III](https://leetcode.com/problems/house-robber-iii)|[打家劫舍 III](https://leetcode-cn.com/problems/house-robber-iii)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0337.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0337.cpp)|
|0341|[Flatten Nested List Iterator](https://leetcode.com/problems/flatten-nested-list-iterator)|[扁平化嵌套列表迭代器](https://leetcode-cn.com/problems/flatten-nested-list-iterator)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0341.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0341.cpp)|
|0344|[Reverse String](https://leetcode.com/problems/reverse-string)|[反转字符串](https://leetcode-cn.com/problems/reverse-string)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0344.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0344.cpp)|
|0347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements)|[前 K 个高频元素](https://leetcode-cn.com/problems/top-k-frequent-elements)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0347.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0347.cpp)|
|0350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii)|[两个数组的交集 II](https://leetcode-cn.com/problems/intersection-of-two-arrays-ii)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0350.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0350.cpp)|
|0354|[Russian Doll Envelopes](https://leetcode.com/problems/russian-doll-envelopes)|[俄罗斯套娃信封问题](https://leetcode-cn.com/problems/russian-doll-envelopes)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0354.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0354.cpp)|
|0365|[Water and Jug Problem](https://leetcode.com/problems/water-and-jug-problem/)|[水壶问题](https://leetcode-cn.com/problems/water-and-jug-problem/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0365.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0365.cpp)|
|0371|[Sum of Two Integers](https://leetcode.com/problems/sum-of-two-integers)|[两整数之和](https://leetcode-cn.com/problems/sum-of-two-integers)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0371.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0371.cpp)|
|0378|[Kth Smallest Element in a Sorted Matrix](https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix)|[有序矩阵中第 K 小的元素](https://leetcode-cn.com/problems/kth-smallest-element-in-a-sorted-matrix)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0378.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0378.cpp)|
|0380|[Insert Delete GetRandom O(1)](https://leetcode.com/problems/insert-delete-getrandom-o1)|[常数时间插入、删除和获取随机元素](https://leetcode-cn.com/problems/insert-delete-getrandom-o1)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0380.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0380.cpp)|
|0384|[Shuffle an Array](https://leetcode.com/problems/shuffle-an-array)|[打乱数组](https://leetcode-cn.com/problems/shuffle-an-array)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0384.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0384.cpp)|
|0387|[First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string)|[字符串中的第一个唯一字符](https://leetcode-cn.com/problems/first-unique-character-in-a-string)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0387.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0387.cpp)|
|0406|[Queue Reconstruction by Height](https://leetcode.com/problems/queue-reconstruction-by-height)|[根据身高重建队列](https://leetcode-cn.com/problems/queue-reconstruction-by-height)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0406.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0406.cpp)|
|0412|[Fizz Buzz](https://leetcode.com/problems/fizz-buzz)|[Fizz Buzz](https://leetcode-cn.com/problems/fizz-buzz)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0412.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0412.cpp)|
|0416|[Partition Equal Subset Sum](https://leetcode.com/problems/partition-equal-subset-sum)|[分割等和子集](https://leetcode-cn.com/problems/partition-equal-subset-sum)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0416.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0416.cpp)|
|0419|[Battleships in a Board](https://leetcode.com/problems/battleships-in-a-board/)|[甲板上的战舰](https://leetcode-cn.com/problems/battleships-in-a-board/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0419.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0419.cpp)|
|0429|[N-ary Tree Level Order Traversal](https://leetcode.com/problems/n-ary-tree-level-order-traversal)|[N 叉树的层序遍历](https://leetcode-cn.com/problems/n-ary-tree-level-order-traversal)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0429.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0429.cpp)|
|0437|[Path Sum III](https://leetcode.com/problems/path-sum-iii)|[路径总和 III](https://leetcode-cn.com/problems/path-sum-iii)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0437.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0437.cpp)|
|0443|[String Compression](https://leetcode.com/problems/string-compression/)|[压缩字符串](https://leetcode-cn.com/problems/string-compression/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0443.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0443.cpp)|
|0445|[Add Two Numbers II](https://leetcode.com/problems/add-two-numbers-ii/)|[两数相加 II](https://leetcode-cn.com/problems/add-two-numbers-ii/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0445.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0445.cpp)|
|0450|[Delete Node in a BST](https://leetcode.com/problems/delete-node-in-a-bst)|[删除二叉搜索树中的节点](https://leetcode-cn.com/problems/delete-node-in-a-bst)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0450.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0450.cpp)|
|0452|[Minimum Number of Arrows to Burst Balloons](https://leetcode.com/problems/minimum-number-of-arrows-to-burst-balloons/)|[用最少数量的箭引爆气球](https://leetcode-cn.com/problems/minimum-number-of-arrows-to-burst-balloons/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0452.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0452.cpp)|
|0454|[4Sum II](https://leetcode.com/problems/4sum-ii)|[四数相加 II](https://leetcode-cn.com/problems/4sum-ii)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0454.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0454.cpp)|
|0461|[Hamming Distance](https://leetcode.com/problems/hamming-distance)|[汉明距离](https://leetcode-cn.com/problems/hamming-distance)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0461.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0461.cpp)|
|0513|[Find Bottom Left Tree Value](https://leetcode.com/problems/find-bottom-left-tree-value/)|[找树左下角的值](https://leetcode-cn.com/problems/find-bottom-left-tree-value/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0513.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0513.cpp)|
|0538|[Convert BST to Greater Tree](https://leetcode.com/problems/convert-bst-to-greater-tree)|[把二叉搜索树转换为累加树](https://leetcode-cn.com/problems/convert-bst-to-greater-tree)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0538.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0538.cpp)|
|0543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree)|[二叉树的直径](https://leetcode-cn.com/problems/diameter-of-binary-tree)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0543.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0543.cpp)|
|0547|[Friend Circles](https://leetcode.com/problems/friend-circles)|[朋友圈](https://leetcode-cn.com/problems/friend-circles)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0547.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0547.cpp)|
|0559|[Maximum Depth of N-ary Tree](https://leetcode.com/problems/maximum-depth-of-n-ary-tree)|[N 叉树的最大深度](https://leetcode-cn.com/problems/maximum-depth-of-n-ary-tree)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0559.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0559.cpp)|
|0560|[Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k)|[和为 K 的子数组](https://leetcode-cn.com/problems/subarray-sum-equals-k)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0560.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0560.cpp)|
|0567|[Permutation in String](https://leetcode.com/problems/permutation-in-string/)|[字符串的排列](https://leetcode-cn.com/problems/permutation-in-string/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0567.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0567.cpp)|
|0589|[N-ary Tree Preorder Traversal](https://leetcode.com/problems/n-ary-tree-preorder-traversal)|[N 叉树的前序遍历](https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0589.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0589.cpp)|
|0590|[N-ary Tree Postorder Traversal](https://leetcode.com/problems/n-ary-tree-postorder-traversal)|[N 叉树的后序遍历](https://leetcode-cn.com/problems/n-ary-tree-postorder-traversal)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0590.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0590.cpp)|
|0591|[Tag Validator](https://leetcode.com/problems/tag-validator/)|[标签验证器](https://leetcode-cn.com/problems/tag-validator/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0591.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0591.cpp)|
|0621|[Task Scheduler](https://leetcode.com/problems/task-scheduler)|[任务调度器](https://leetcode-cn.com/problems/task-scheduler)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0621.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0621.cpp)|
|0650|[2 Keys Keyboard](https://leetcode.com/problems/2-keys-keyboard/)|[只有两个键的键盘](https://leetcode-cn.com/problems/2-keys-keyboard/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0650.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0650.cpp)|
|0654|[Maximum Binary Tree](https://leetcode.com/problems/maximum-binary-tree/)|[最大二叉树](https://leetcode-cn.com/problems/maximum-binary-tree/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0654.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0654.cpp)|
|0672|[Bulb Switcher II](https://leetcode.com/problems/bulb-switcher-ii/)|[灯泡开关 Ⅱ](https://leetcode-cn.com/problems/bulb-switcher-ii/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0672.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0672.cpp)|
|0722|[Remove Comments](https://leetcode.com/problems/remove-comments/)|[删除注释](https://leetcode-cn.com/problems/remove-comments/)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0722.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0722.cpp)|
|0912|[Sort an Array](https://leetcode.com/problems/sort-an-array)|[排序数组](https://leetcode-cn.com/problems/sort-an-array)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/0912.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/0912.cpp)|
|1114|[Print in Order](https://leetcode.com/problems/print-in-order)|[按序打印](https://leetcode-cn.com/problems/print-in-order)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/1114.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/1114.cpp)|
|1115|[Print FooBar Alternately](https://leetcode.com/problems/print-foobar-alternately)|[交替打印 FooBar](https://leetcode-cn.com/problems/print-foobar-alternately)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/1115.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/1115.cpp)|
|1116|[Print Zero Even Odd](https://leetcode.com/problems/print-zero-even-odd)|[打印零与奇偶数](https://leetcode-cn.com/problems/print-zero-even-odd)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/1116.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/1116.cpp)|
|1117|[Building H2O](https://leetcode.com/problems/building-h2o)|[H2O 生成](https://leetcode-cn.com/problems/building-h2o)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/1117.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/1117.cpp)|
|1195|[Fizz Buzz Multithreaded](https://leetcode.com/problems/fizz-buzz-multithreaded)|[交替打印字符串](https://leetcode-cn.com/problems/fizz-buzz-multithreaded)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/1195.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/1195.cpp)|
|1226|[The Dining Philosophers](https://leetcode.com/problems/the-dining-philosophers)|[哲学家进餐](https://leetcode-cn.com/problems/the-dining-philosophers)|[README](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/docs/1226.md)|[C++](https://github.com/downdemo/LeetCode-Solutions-in-Cpp17/blob/master/src/1226.cpp)|