Skip to content

本项目是一个 leetcode 刷题笔记,使用 c++ 实现,包含题解与题型模板

Notifications You must be signed in to change notification settings

wenhaofang/LeetcodeSolution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

下表是本仓库所包含的题目,后续将会持续更新 ~

leetcode

题号 难度 英文题目 中文题目 分类 思路 相关
1 Easy Two Sum 两数之和 数组 哈希映射 15, 18
2 Medium Add Two Numbers 两数相加 链表 双指针
3 Medium Longest Substring Without Repeating Characters 无重复字符的最长子串 字符串 滑动窗口
哈希集合
哈希映射
4 Hard Median of Two Sorted Arrays 寻找两个正序数组的中位数 数组 归并
二分查找
5 Medium Longest Palindromic Substring 最长回文子串 字符串 动态规划 9
6 Medium ZigZag Conversion Z 字形变换 字符串 找规律
7 Easy Reverse Integer 整数反转 数字 暴力模拟 9
8 Medium String to Integer (atoi) 字符串转换整数 (atoi) 字符串 暴力模拟
9 Easy Palindrome Number 回文数 数字 暴力模拟 5, 7
10 Hard Regular Expression Matching 正则表达式匹配 字符串 递归
动态规划
44
11 Medium Container With Most Water 盛最多水的容器 数组 左右指针 42
12 Medium Integer to Roman 整数转罗马数字 数字 硬编码
贪心算法
13
13 Easy Roman to Integer 罗马数字转整数 字符串 找规律 12
14 Easy Longest Common Prefix 最长公共前缀 字符串 暴力模拟
15 Medium 3Sum 三数之和 数组 左右指针 1, 16, 18
16 Medium 3Sum Closest 最接近的三数之和 数组 左右指针 11, 15
17 Medium Letter Combinations of a Phone Number 电话号码的字母组合 字符串 回溯
18 Medium 4Sum 四数之和 数组 左右指针 1, 15
19 Medium Remove Nth Node From End of List 删除链表的倒数第 N 个结点 链表
快慢指针
20 Easy Valid Parentheses 有效的括号 字符串 32
21 Easy Merge Two Sorted Lists 合并两个有序链表 链表 归并 23
22 Medium Generate Parentheses 括号生成 字符串 回溯
23 Hard Merge k Sorted Lists 合并K个升序链表 链表 归并
优先队列
分治
21
24 Medium Swap Nodes in Pairs 两两交换链表中的节点 链表 递归
迭代
25
25 Hard Reverse Nodes in k-Group K 个一组翻转链表 链表 递归
迭代
24
26 Easy Remove Duplicates from Sorted Array 删除有序数组中的重复项 数组 快慢指针 80
27 Easy Remove Element 移除元素 数组 左右指针
28 Easy Implement strStr() 实现 strStr() 字符串 暴力模拟
KMP
29 Medium Divide Two Integers 两数相除 数字 倍增 50
30 Hard Substring with Concatenation of All Words 串联所有单词的子串 字符串 哈希映射
滑动窗口
31 Medium Next Permutation 下一个排列 数组 背景规则
32 Hard Longest Valid Parentheses 最长有效括号 字符串
双向遍历
动态规划
20
33 Medium Search in Rotated Sorted Array 搜索旋转排序数组 数组 二分查找 81
34 Medium Find First and Last Position of Element in Sorted Array 在排序数组中查找元素的第一个和最后一个位置 数组 二分查找
35 Easy Search Insert Position 搜索插入位置 数组 二分查找
36 Medium Valid Sudoku 有效的数独 数组 哈希映射 37
37 Hard Sudoku Solver 解数独 数组 回溯 36
38 Medium Count and Say 外观数列 字符串 迭代
39 Medium Combination Sum 组合总和 数组 回溯 40
40 Medium Combination Sum II 组合总和 II 数组 回溯 39
41 Hard First Missing Positive 缺失的第一个正数 数组 原地哈希
42 Hard Trapping Rain Water 接雨水 数组 单调栈
左右指针
动态规划
11, 84
43 Medium Multiply Strings 字符串相乘 字符串 暴力模拟
44 Hard Wildcard Matching 通配符匹配 字符串 贪心
动态规划
10
45 Medium Jump Game II 跳跃游戏 II 数组 贪心
动态规划
55
46 Medium Permutations 全排列 数组 回溯 47
47 Medium Permutations II 全排列 II 数组 回溯 46
48 Medium Rotate Image 旋转图像 数组 找规律
49 Medium Group Anagrams 字母异位词分组 数组 哈希映射
50 Medium Pow(x, n) Pow(x, n) 数字 递归
迭代
倍增
29
51 Hard N-Queens N 皇后 数组 回溯 52
52 Hard N-Queens II N皇后 II 数组 回溯 51
53 Easy Maximum Subarray 最大子数组和 数组 动态规划
54 Medium Spiral Matrix 螺旋矩阵 数组 暴力模拟 59
55 Medium Jump Game 跳跃游戏 数组 贪心 45
56 Medium Merge Intervals 合并区间 数组 双指针 57
57 Medium Insert Interval 插入区间 数组 暴力模拟 56
58 Easy Length of Last Word 最后一个单词的长度 字符串 暴力模拟
59 Medium Spiral Matrix II 螺旋矩阵 II 数组 暴力模拟 54
60 Hard Permutation Sequence 排列序列 数字 数学方法
61 Medium Rotate List 旋转链表 链表 暴力模拟
62 Medium Unique Paths 不同路径 数组 动态规划
数学方法
63, 64
63 Medium Unique Paths II 不同路径 II 数组 动态规划 62
64 Medium Minimum Path Sum 最小路径和 数组 动态规划 62
65 Hard Valid Number 有效数字 数字 状态机
暴力模拟
66 Easy Plus One 加一 数组 暴力模拟
67 Easy Add Binary 二进制求和 字符串 暴力模拟
68 Hard Text Justification 文本左右对齐 字符串 暴力模拟
69 Easy Sqrt(x) x 的平方根 数字 顺序查找
二分查找
70 Easy Climbing Stairs 爬楼梯 数字 动态规划
71 Medium Simplify Path 简化路径 字符串 暴力模拟
72 Hard Edit Distance 编辑距离 字符串 动态规划
73 Medium Set Matrix Zeroes 矩阵置零 数组 暴力模拟
74 Medium Search a 2D Matrix 搜索二维矩阵 数组 二分查找 79
75 Medium Sort Colors 颜色分类 数组 暴力模拟
76 Hard Minimum Window Substring 最小覆盖子串 字符串 哈希映射
滑动窗口
77 Medium Combinations 组合 数组 回溯
78 Medium Subsets 子集 数组 回溯
79 Medium Word Search 单词搜索 数组 回溯 74
80 Medium Remove Duplicates from Sorted Array II 删除有序数组中的重复项 II 数组 快慢指针 26
81 Medium Search in Rotated Sorted Array II 搜索旋转排序数组 II 数组 二分查找 33
82 Medium Remove Duplicates from Sorted List II 删除排序链表中的重复元素 II 链表 快慢指针 26, 83
83 Easy Remove Duplicates from Sorted List 删除排序链表中的重复元素 链表 快慢指针 82
84 Hard Largest Rectangle in Histogram 柱状图中最大的矩形 数组 单调栈 42, 85
85 Hard Maximal Rectangle 最大矩形 数组 单调栈 84
86 Medium Partition List 分隔链表 链表 暴力模拟
87 Hard Scramble String 扰乱字符串 字符串 动态规划
94 Easy Binary Tree Inorder Traversal 二叉树的中序遍历 二叉树 递归
96 Medium Unique Binary Search Trees 不同的二叉搜索树 二叉搜索树 递归
98 Medium Validate Binary Search Tree 验证二叉搜索树 二叉树 递归
101 Easy Symmetric Tree 对称二叉树 二叉树 递归
102 Medium Binary Tree Level Order Traversal 二叉树的层序遍历 二叉树 广度优先搜索
104 Easy Maximum Depth of Binary Tree 二叉树的最大深度 二叉树 递归
105 Medium Construct Binary Tree from Preorder and Inorder Traversal 从前序与中序遍历序列构造二叉树 二叉树 递归
111 Easy Minimum Depth of Binary Tree 二叉树的最小深度 二叉树 深度优先搜索
广度优先搜索
114 Medium Flatten Binary Tree to Linked List 二叉树展开为链表 二叉树 递归
121 Easy Best Time to Buy and Sell Stock 买卖股票的最佳时机 数组 预处理
逆过程
124 Hard Binary Tree Maximum Path Sum 二叉树中的最大路径和 二叉树 递归 543
127 Hard Word Ladder 单词接龙 字符串 广度优先搜索 752
128 Medium Longest Consecutive Sequence 最长连续序列 数组 哈希
130 Medium Surrounded Regions 被围绕的区域 数组 深度优先搜索
广度优先搜索
200
136 Easy Single Number 只出现一次的数字 数组 位运算
139 Medium Word Break 单词拆分 字符串 哈希
动态规划
141 Easy Linked List Cycle 环形链表 链表 快慢指针
142 Medium Linked List Cycle II 环形链表 II 链表 快慢指针
148 Medium Sort List 排序链表 链表 归并排序
152 Medium Maximum Product Subarray 乘积最大子数组 数组 动态规划
160 Easy Intersection of Two Linked Lists 相交链表 链表 数学
169 Easy Majority Element 多数元素 数组 模拟
198 Medium House Robber 打家劫舍 数组 动态规划
199 Medium Binary Tree Right Side View 二叉树的右视图 二叉树 广度优先搜索
200 Medium Number of Islands 岛屿数量 数组 深度优先搜索
广度优先搜索
并查集
130, 695, 1254
206 Easy Reverse Linked List 反转链表 链表 迭代
215 Medium Kth Largest Element in an Array 数组中的第K个最大元素 数组 347
221 Medium Maximal Square 最大正方形 数组 动态规划
226 Easy Invert Binary Tree 翻转二叉树 二叉树 递归
234 Easy Palindrome Linked List 回文链表 链表 转换
236 Medium Lowest Common Ancestor of a Binary Tree 二叉树的最近公共祖先 二叉树 递归
238 Medium Product of Array Except Self 除自身以外数组的乘积 数组 前缀和
239 Hard Sliding Window Maximum 滑动窗口最大值 数组 单调队列
240 Medium Search a 2D Matrix II 搜索二维矩阵 II 数组 二分查找
279 Medium Perfect Squares 完全平方数 数字 动态规划
283 Easy Move Zeroes 移动零 数组 快慢指针
297 Hard Serialize and Deserialize Binary Tree 二叉树的序列化与反序列化 二叉树 递归
300 Medium Longest Increasing Subsequence 最长递增子序列 数组 动态规划 516, 1143
303 Easy Range Sum Query - Immutable 区域和检索 - 数组不可变 数组 前缀和 304
304 Medium Range Sum Query 2D - Immutable 二维区域和检索 - 矩阵不可变 数组 前缀和 303
337 Medium House Robber III 打家劫舍 III 二叉树 递归
动态规划
338 Easy Counting Bits 比特位计数 数字 位运算 461
347 Medium Top K Frequent Elements 前 K 个高频元素 数组 215
376 Medium Wiggle Subsequence 摆动序列 数组 贪心算法
394 Medium Decode String 字符串解码 字符串
416 Medium Partition Equal Subset Sum 分割等和子集 数组 转换
深度优先搜索
动态规划
494
435 Medium Non-overlapping Intervals 无重叠区间 数组 贪心算法
437 Medium Path Sum III 路径总和 III 二叉树 递归
438 Medium Find All Anagrams in a String 找到字符串中所有字母异位词 字符串 滑动窗口
448 Easy Find All Numbers Disappeared in an Array 找到所有数组中消失的数字 数组 哈希
原地哈希
461 Easy Hamming Distance 汉明距离 数字 位运算 338
494 Medium Target Sum 目标和 数组 深度优先搜索
转换
动态规划
416
496 Easy Next Greater Element I 下一个更大元素 I 数组 单调栈 503
503 Medium Next Greater Element II 下一个更大元素 II 数组 单调栈 496
516 Medium Longest Palindromic Subsequence 最长回文子序列 字符串 动态规划 300, 1143
538 Medium Convert BST to Greater Tree 把二叉搜索树转换为累加树 二叉搜索树 递归
543 Easy Diameter of Binary Tree 二叉树的直径 二叉树 递归 124
560 Medium Subarray Sum Equals K 和为 K 的子数组 数组 前缀和
哈希
581 Medium Shortest Unsorted Continuous Subarray 最短无序连续子数组 数组 排序
模拟
617 Easy Merge Two Binary Trees 合并二叉树 二叉树 递归
621 Medium Task Scheduler 任务调度器 数组 数学
647 Medium Palindromic Substrings 回文子串 字符串 暴力搜索
695 Medium Max Area of Island 岛屿的最大面积 数组 深度优先搜索
广度优先搜索
200
738 Medium Monotone Increasing Digits 单调递增的数字 数组 贪心算法
739 Medium Daily Temperatures 每日温度 数组 单调栈
752 Medium Open the Lock 打开转盘锁 字符串 广度优先搜索 773, 127
773 Hard Sliding Puzzle 滑动谜题 数组 广度优先搜索 752
763 Medium Partition Labels 划分字母区间 字符串 贪心算法
875 Medium Koko Eating Bananas 爱吃香蕉的珂珂 数组 二分查找 1011
887 Hard Super Egg Drop 鸡蛋掉落 数字 动态规划
1011 Medium Capacity To Ship Packages Within D Days 在 D 天内送达包裹的能力 数组 二分查找 875
1094 Medium Car Pooling 拼车 数组 差分数组
1109 Medium Corporate Flight Bookings 航班预订统计 数组 差分数组
1143 Medium Longest Common Subsequence 最长公共子序列 字符串 动态规划 300, 516
1254 Medium Number of Closed Islands 统计封闭岛屿的数目 数组 深度优先搜索
广度优先搜索
200
1893 Easy Check if All the Integers in a Range Are Covered 检查是否区域内所有整数都被覆盖 数组 差分数组
2406 Medium Divide Intervals Into Minimum Number of Groups 将区间分为最少组数 数组 贪心
差分数组
2536 Medium Increment Submatrices by One 子矩阵元素加 1 数组 差分数组

剑指 offer

题号 难度 题目 分类 思路 相关
03 简单 数组中重复的数字 数组 哈希集合
04 中等 二维数组中的查找 数组 二分查找 leetcode240
05 简单 替换空格 字符串 正则
07 中等 重建二叉树 二叉树 递归 leetcode105
leetcode106
12 中等 矩阵中的路径 数组 回溯 leetcode79
13 中等 机器人的运动范围 数组 深度优先搜索
14 中等 剪绳子 数字 动态规划
16 中等 数值的整数次方 数字 快速幂
20 中等 表示数值的字符串 字符串 模拟 leetcode65
26 中等 树的子结构 二叉树 递归
31 中等 栈的压入、弹出序列 数组 模拟
32 中等 从上到下打印二叉树 二叉树 宽度优先搜索 leetcode102
34 中等 二叉树中和为某一值的路径 二叉树 回溯 leetcode113
35 中等 复杂链表的复制 链表 哈希映射 leetcode138
36 中等 二叉搜索树与双向链表 二叉树 递归 leetcode114
leetcode426
38 中等 字符串的排列 字符串 回溯 leetcode46
leetcode47
44 中等 数字序列中某一位的数字 数字 数学 leetcode400
45 中等 把数组排成最小的数 数组 排序
46 中等 把数字翻译成字符串 数字 深度优先搜索
动态规划
47 中等 礼物的最大价值 数组 动态规划
48 中等 最长不含重复字符的子字符串 字符串 滑动窗口 leetcode3
49 中等 丑数 数字 动态规划 leetcode264
56 中等 数组中数字出现的次数 数组 位运算 leetcode136
leetcode137
leetcode260
60 中等 n个骰子的点数 数字 动态规划
63 中等 股票的最大利润 数组 预处理 leetcode121
64 中等 求1+2+…+n 数字 递归
66 中等 构建乘积数组 数组 预处理
67 中等 把字符串转换成整数 字符串 暴力模拟 leetcode8

About

本项目是一个 leetcode 刷题笔记,使用 c++ 实现,包含题解与题型模板

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published