Skip to content

chenBright/leetcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

leetcode

LeetCode Problems' Solutions

题目后面的*表示不会做的题目。括号内表示需要

题目 题解
001-两数之和 C++
002-两数相加 C++
003-无重复字符的最长子串* C++
004-寻找两个有序数组的中位数** C++
005-最长回文子串** C++
006-Z字形变换* C++
007-整数反转* C++
008-字符串转换整数 (atoi) C++
009-回文数* C++
010-正则表达式匹配**(TODO 有限状态机) C++
011-盛最多水的容器 C++
012-整数转罗马数字* C++
013-罗马数字转整数 C++
014-最长公共前缀*(TODO:字典树) C++
015-三数之和** C++
016-最接近的三数之和** C++
017-电话号码的字母组合* C++
018-四数之和 C++
019-删除链表的倒数第N个节点 C++
020-有效的括号 C++
021-合并两个有序链表 C++
022-括号生成**(没思路) C++
023-合并K个排序链表** C++
024-两两交换链表中的节点 C++
025-K个一组翻转链表** C++
026-删除排序数组中的重复项 C++
027-移除元素 C++
028-实现strStr()*(TODO:KMP) C++
029-两数相除*(不懂) C++
030-串联所有单词的子串* C++
031-下一个排列** C++
032-最长有效括号** C++
033-搜索旋转排序数组** C++
034-在排序数组中查找元素的第一个和最后一个位置 C++
035-搜索插入位置 C++
036-有效的数独* C++
037-解数独* C++
038-报数 C++
039-组合总和 C++
040-组合总和 II* C++
041-缺失的第一个正数** C++
042-接雨水** C++
043-字符串相乘* C++
044-通配符匹配*(不懂) C++
045-跳跃游戏 II* C++
046-全排列*(用尽可能多的方法) C++
047-全排列 II* C++
048-旋转图像* C++
049-字母异位词分组* C++
050-Pow(x, n)* C++
051-N皇后* C++
052-N皇后 II* C++
053-最大子序和 C++
054-螺旋矩阵 C++
055-跳跃游戏* C++
056-合并区间* C++
057-插入区间 C++
058-最后一个单词的长度 C++
059-螺旋矩阵 II C++
060-第k个排列 C++
061-旋转链表 C++
062-不同路径* C++
063-不同路径 II* C++
064-最小路径和**(最短路径算法) C++
065-有效数字*(不懂) C++
066-加一 C++
067-二进制求和* C++
068-文本左右对齐*(不懂) C++
069-x的平方根**(牛顿迭代法) C++
070-爬楼梯 C++
071-简化路径** C++
072-编辑距离** C++
073-矩阵置零 C++
074-搜索二维矩阵* C++
075-颜色分类** C++
076-最小覆盖子串* C++
077-组合* C++
078-子集**(迭代、位运算) C++
079-单词搜索 C++
080-删除排序数组中的重复项 II C++
081-搜索旋转排序数组 II** C++
082-删除排序链表中的重复元素 II C++
083-删除排序链表中的重复元素 C++
084-柱状图中最大的矩形* C++
085-最大矩形** C++
086-分隔链表 C++
088-合并两个有序数组 C++
089-格雷编码* C++
090-子集 II C++
091-解码方法** C++
092-反转链表 II C++
093-复原IP地址** C++
094-二叉树的中序遍历 C++
095不同的二叉搜索树 II** C++
096-不同的二叉搜索树** C++
098-验证二叉搜索树 C++
100-相同的树 C++
101-对称二叉树*(迭代) C++
102-二叉树的层次遍历 C++
103-二叉树的锯齿形层次遍历 C++
104-二叉树的最大深度 C++
105-从前序与中序遍历序列构造二叉树 C++
106-从中序与后序遍历序列构造二叉树 C++
107-二叉树的层次遍历 II C++
108-将有序数组转换为二叉搜索树 C++
109-有序链表转换二叉搜索树 C++
110-平衡二叉树 C++
111-二叉树的最小深度 C++
112-路径总和 C++
113-路径总和 II C++
114-二叉树展开为链表*(非递归实现) C++
115-不同的子序列*(不懂) C++
116-填充每个节点的下一个右侧节点指针* C++
117-填充每个节点的下一个右侧节点指针 II* C++
118-杨辉三角 C++
119-杨辉三角 II C++
120-三角形最小路径和** C++
121-买卖股票的最佳时机**(动态规划) C++
122-买卖股票的最佳时机 II*(贪心算法) C++
123-买卖股票的最佳时机 III* C++
124-二叉树中的最大路径和** C++
125-验证回文串 C++
127-单词接龙* C++
128-最长连续序列** C++
129-求根到叶子节点数字之和* C++
130-被围绕的区域* C++
131-分割回文串*(动态规划) C++
132-分割回文串 II C++
133-克隆图* C++
134-加油站* C++
135-分发糖果* C++
136-只出现一次的数字** C++
137-只出现一次的数字 II**(TODO 位运算) C++
138-复制带随机指针的链表*(不熟悉深拷贝,与 133-克隆图 类似) C++
139-单词拆分* C++
140-单词拆分 II* C++
141-环形链表 C++
142-环形链表 II** C++
143-重排链表* C++
144-二叉树的前序遍历 C++
145-二叉树的后序遍历* C++
146-LRU缓存机制 C++
147-对链表进行插入排序 C++
148-排序链表 C++
149-直线上最多的点数* C++
150-逆波兰表达式求值 C++
151-翻转字符串里的单词 C++
152-乘积最大子序列** C++
153-寻找旋转排序数组中的最小值** C++
154-寻找旋转排序数组中的最小值 II** C++
155-最小栈 C++
160-相交链表*(栈、哈希表、其他) C++
162-寻找峰值*(简单的实现) C++
164-最大间距* C++
165-比较版本号* C++
166-分数到小数*(不懂) C++
167-两数之和 II - 输入有序数组 C++
168-Excel表列名称* C++
169-求众数 C++
171-Excel表列序号 C++
172-阶乘后的零** C++
173-二叉搜索树迭代器 C++
174-地下城游戏** C++
179-最大数* C++
187-重复的DNA序列** C++
188-买卖股票的最佳时机 IV** C++
189-旋转数组** C++
190-颠倒二进制位** C++
191-位1的个数 C++
198-打家劫舍* C++
199-二叉树的右视图 C++
200-岛屿数量 C++
201-数字范围按位与* C++
202-快乐数 C++
203-移除链表元素* C++
204-计数质数* C++
205-同构字符串* C++
206-反转链表* C++
207-课程表* C++
208-实现 Trie (前缀树)* C++
209-长度最小的子数组** C++
210-课程表 II* C++
220-存在重复元素 III* C++
211-添加与搜索单词 - 数据结构设计 C++
213-打家劫舍 II* C++
215-数组中的第K个最大元素** C++
216-组合总和 III* C++
217-存在重复元素 C++
219-存在重复元素 II C++
221-最大正方形** C++
222-完全二叉树的节点个数* C++
223-矩形面积* C++
224-基本计算器* C++
225-用队列实现栈* C++
226-翻转二叉树 C++
227-基本计算器 II* C++
228-汇总区间 C++
229-求众数 II* C++
230-二叉搜索树中第K小的元素** C++
231-2的幂** C++
232-用栈实现队列 C++
234-回文链表* C++
235-二叉搜索树的最近公共祖先 C++
236-二叉树的最近公共祖先** C++
237-删除链表中的节点* C++
238-除自身以外数组的乘积* C++
239-滑动窗口最大值* C++
240-搜索二维矩阵 II* C++
241-为运算表达式设计优先级*(TODO:动态规划) C++
242-有效的字母异位词* C++
258-各位相加* C++
260-只出现一次的数字 III* C++
263-丑数 C++
264-丑数 II* C++
268-缺失数字** C++
274-H指数* C++
275-H指数 II* C++
278-第一个错误的版本 C++
279-完全平方数**(不会做) C++
284-顶端迭代器* C++
283-移动零* C++
287-寻找重复数* C++
290-单词规律* C++
292-Nim 游戏* C++
297-二叉树的序列化与反序列化* C++
299-猜数字游戏* C++
300-最长上升子序列** C++
303-区域和检索 - 数组不可变* C++
309-最佳买卖股票时机含冷冻期** C++
315-计算右侧小于当前元素的个数* C++
322-零钱兑换* C++
326-3的幂*(TODO 3进制) C++
328-奇偶链表 C++
337-打家劫舍 III* C++
338-比特位计数*** C++
342-4的幂** C++
343-整数拆分* C++
344-反转字符串 C++
345-反转字符串中的元音字母 C++
347-前K个高频元素* C++
349-两个数组的交集* C++
350-两个数组的交集 II* C++
354-俄罗斯套娃信封问题* C++
367-有效的完全平方数* C++
371-两整数之和* C++
374-猜数字大小* C++
376-摆动序列* C++
387-字符串中的第一个唯一字符* C++
392-判断子序列* C++
394-字符串解码* C++
402-移掉K位数字* C++
406-根据身高重建队列* C++
410-分割数组的最大值* C++
416-分割等和子集* C++
432-全O(1)的数据结构 C++
437-路径总和 III*(递归形式) C++
438-找到字符串中所有字母异位词* C++
442-数组中重复的数据 C++
445-两数相加 II* C++
448-找到所有数组中消失的数字** C++
460-LFU缓存* C++
461-汉明距离 C++
494-目标和* C++
496-下一个更大元素 I C++
503-下一个更大元素 II C++
538-把二叉搜索树转换为累加树* C++
541-反转字符串 II C++
543-二叉树的直径* C++
547-朋友圈* C++
557-反转字符串中的单词 III C++
556-下一个更大元素 III C++
567-字符串的排列** C++
581-最短无序连续子数组* C++
617-合并二叉树 C++
621-任务调度器*(TODO 其他更巧妙的方法) C++
647-回文子串* C++
674-最长连续递增序列 C++
695-岛屿的最大面积 C++
739-每日温度* C++
714-买卖股票的最佳时机含手续费* C++
764-使用最小花费爬楼梯* C++
852-山脉数组的峰顶索引 C++
860-柠檬水找零 C++
876-链表的中间结点 C++
912-排序数组* C++
946-验证栈序列 C++
1114-按序打印* C++
1115-交替打印FooBar* C++
1116-打印零与奇偶数* C++
1143-最长公共子序列* C++
1226-哲学家进餐 C++

About

LeetCode Problems' Solutions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages