Skip to content

AnthonyZero/leetcode-cn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

leetcode-cn

大学的时候作为一名ACMer,有过收获有过辛酸。当初那份激情难以忘记,记得每次在机房AC的时候都很激动,但毕业两年多后,在日常看源码才明白数据结构的重要性。曾经的数据结构和算法差不多都还给老师了。在此打算重拾 LeetCode 为了打好数据结构和算法的基础。

源代码在 src 目录中,相关题解都在 notes 目录中

简单

NO Title Thinking Code Tags
1 Two Sum 两数之和 Solution 数组 哈希表
14 Longest Common Prefix 最长公共前缀 Solution 字符串
20 Valid Parentheses 有效的括号 Solution 栈 字符串
21 Merge Two Sorted Lists 合并两个有序链表 Solution 链表
26 Remove Duplicates from Sorted Array 删除排序数组中的重复项 Solution 数组 双指针
27 Remove Element 移除元素 Solution 数组 双指针
28 Implement strStr() 实现 strStr() Solution 双指针 字符串 KMP
35 Search Insert Position 搜索插入位置 Solution 数组 二分查找
53 Maximum Subarray 最大子序和 Solution 数组 贪心算法
58 Length of Last Word 最后一个单词的长度 Solution 字符串
67 Add Binary 二进制求和 Solution 数学 字符串
70 Climbing Stairs 爬楼梯 Solution 动态规划
83 Remove Duplicates from Sorted List 删除排序链表中的重复元素 Solution 链表
101 Symmetric Tree 对称二叉树 Solution 树 深度优先遍历
104 Maximum Depth of Binary Tree 二叉树的最大深度 Solution 树 深度优先遍历
110 Balanced Binary Tree 平衡二叉树 Solution 树 深度优先遍历
111 Minimum Depth of Binary Tree 二叉树的最小深度 Solution 树 深度优先遍历
112 Path Sum 路径总和 Solution 树 深度优先搜索
118 Pascal's Triangle 杨辉三角 Solution 数组
122 Best Time to Buy and Sell Stock II 买卖股票的最佳时机 II Solution 贪心算法
125 Valid Palindrome 验证回文串 Solution 双指针 字符串
141 Linked List Cycle 环形链表 Solution 链表 双指针
155 Min Stack 最小栈 Solution 栈 设计
160 Intersection of Two Linked Lists 相交链表 Solution 链表
198 House Robber 打家劫舍 Solution 动态规划
203 Remove Linked List Elements 移除链表元素 Solution 链表
206 Reverse Linked List 反转链表 Solution 链表
225 Implement Stack using Queues 用队列实现栈 Solution 栈 设计
226 Invert Binary Tree 翻转二叉树 Solution
231 Power of Two 2的幂 Solution 位运算 数学
232 Implement Queue using Stacks 用栈实现队列 Solution 栈 设计
235 Lowest Common Ancestor of a Binary Search Tree 二叉搜索树的最近公共祖先 Solution
237 Delete Node in a Linked List 删除链表中的节点 Solution 链表
257 Binary Tree Paths 二叉树的所有路径 Solution 树 深度优先搜索
303 Range Sum Query - Immutable 区域和检索 - 数组不可变 Solution 动态规划
349 Intersection of Two Arrays 两个数组的交集 Solution 哈希表
350 Intersection of Two Arrays II 两个数组的交集 II Solution 哈希表
387 First Unique Character in a String 字符串中的第一个唯一字符 Solution 哈希表 字符串
392 Is Subsequence 判断子序列 Solution 双指针
437 Path Sum III 路径总和 III Solution
455 Assign Cookies 分发饼干 Solution 贪心算法
633 Sum of Square Numbers 平方数之和 Solution 数学
704 Binary Search 二分查找 Solution 二分查找
720 Longest Word in Dictionary 词典中最长的单词 Solution 字典树
746 Min Cost Climbing Stairs 使用最小花费爬楼梯 Solution 动态规划
783 Minimum Distance Between BST Nodes 二叉搜索树节点最小距离 Solution 树 递归
804 Unique Morse Code Words 唯一摩尔斯密码词 Solution 字符串
933 Number of Recent Calls 最近的请求次数 Solution 队列

中等

NO Title Thinking Code Tags
2 Add Two Numbers 两数相加 Solution 链表 数学
3 Longest Substring Without Repeating Characters 无重复字符的最长子串 Solution 字符串 双指针 哈希表 滑动窗口
5 Longest Palindromic Substring 最长回文子串 Solution 字符串 动态规划
17 Letter Combinations of a Phone Number 电话号码的字母组合 Solution 字符串 回溯算法
46 Permutations 全排列 Solution 回溯算法
47 Permutations II 全排列 II Solution 回溯算法
62 Unique Paths 不同路径 Solution 动态规划
64 Minimum Path Sum 最小路径和 Solution 动态规划
77 Combinations 组合 Solution 回溯算法
94 Binary Tree Inorder Traversal 二叉树的中序遍历 Solution 栈 树 哈希表
96 Unique Binary Search Trees 不同的二叉搜索树 Solution 树 动态规划
98 Validate Binary Search Tree 验证二叉搜索树 Solution 树 深度优先搜索
102 Binary Tree Level Order Traversal 二叉树的层次遍历 Solution 树 广度优先搜索
105 Construct Binary Tree from Preorder and Inorder Traversal 从前序与中序遍历序列构造二叉树 Solution 树 深度优先搜索 数组
106 Construct Binary Tree from Inorder and Postorder Traversal 从中序与后序遍历序列构造二叉树 Solution 树 深度优先搜索 数组
109 Convert Sorted List to Binary Search Tree 有序链表转换二叉搜索树 Solution 深度优先搜索 链表
113 Path Sum II 路径总和 II Solution 树 深度优先搜索
120 Triangle 三角形最小路径和 Solution 数组 动态规划
130 Surrounded Regions 被围绕的区域 Solution 深度优先搜索
142 Linked List Cycle II 环形链表 II Solution 链表 双指针
144 Binary Tree Preorder Traversal 二叉树的前序遍历 Solution 栈 树
146 LRU Cache LRU缓存机制 Solution 设计
147 Insertion Sort List 对链表进行插入排序 Solution 排序 链表
148 Sort List 排序链表 Solution 排序 链表
200 Number of Islands 岛屿数量 Solution 深度优先搜索 广度优先搜索
208 Implement Trie (Prefix Tree) 实现 Trie (前缀树) Solution 设计 字典树
209 Minimum Size Subarray Sum 长度最小的子数组 Solution 数组 双指针
211 Add and Search Word - Data structure design 添加与搜索单词 - 数据结构设计 Solution 设计 字典树
215 Kth Largest Element in an Array 数组中的第K个最大元素 Solution
300 Longest Increasing Subsequence 最长上升子序列 Solution 动态规划
307 Range Sum Query - Mutable 区域和检索 - 数组可修改 Solution 线段树
343 Integer Break 整数拆分 Solution 动态规划
347 Top K Frequent Elements 前 K 个高频元素 Solution 堆 哈希表
416 Partition Equal Subset Sum 分割等和子集 Solution 动态规划
435 Non-overlapping Intervals 无重叠区间 Solution 贪心算法
451 Sort Characters By Frequency 根据字符出现频率排序 Solution 堆 哈希表
470 Implement Rand10() Using Rand7() 用 Rand7() 实现 Rand10() Solution 随机 拒绝采样
📖 474 Ones and Zeroes 一和零 Solution 动态规划
📖 560 Subarray Sum Equals K 和为K的子数组 Solution 数组 哈希表
622 Design Circular Queue 设计循环队列 Solution 设计 队列
648 Replace Words 单词替换 Solution 字典树
676 Implement Magic Dictionary 实现一个魔法字典 Solution 字典树 哈希表
677 Map Sum Pairs 键值映射 Solution 字典树
692 Top K Frequent Words 前K个高频单词 Solution 堆 哈希表
695 Max Area of Island 岛屿的最大面积 Solution 深度优先搜索
701 Insert into a Binary Search Tree 二叉搜索树中的插入操作 Solution
707 Design Linked List 设计链表 Solution 设计 链表
📖 718 Maximum Length of Repeated Subarray 最长重复子数组 Solution 动态规划
1038 Binary Search Tree to Greater Sum Tree 从二叉搜索树到更大和树 Solution 二叉搜索树
1143 Longest Common Subsequence 最长公共子序列 Solution 动态规划
1305 All Elements in Two Binary Search Trees 两棵二叉搜索树中的所有元素 Solution 树 排序
1329 Sort the Matrix Diagonally 将矩阵按对角线排序 Solution 数组 排序
1456 Maximum Number of Vowels in a Substring of Given Length 定长子串中元音的最大数目 Solution 字符串 滑动窗口

困难

NO Title Thinking Code Tags
51 N-Queens N皇后 Solution 回溯算法
72 Edit Distance 编辑距离 Solution 动态规划
99 Recover Binary Search Tree 恢复二叉搜索树 Solution 树 深度优先遍历

Releases

No releases published

Packages

No packages published

Languages