LeetCode 目录
以表格的形式记录我写下的每一道题的博客位置, 以便查阅. 目前决定不以 LeetCode 的题目编号为顺序进行排列, 而是采用我的做题顺序.
编号 | 题目标题 | 题目难度 | 题目类型 | 解题思路 | 时间复杂度 | 备注 |
---|---|---|---|---|---|---|
0001 | 1. Two Sum* | 简单 | Array | 哈希表 | O ( N ) O(N) O(N) | 经典 |
0002 | 167. *Two Sum II - Input array is sorted | 简单 | Array | 对撞指针 | O ( N ) O(N) O(N) | 经典 |
0003 | 15. 3Sum** | 中等 | Array | 排序, 对撞指针, 去重 | O ( N 2 ) O(N^2) O(N2) | |
0004 | 16. 3Sum Closest** | 中等 | Array | 排序, 对撞指针, 去重 | O ( N 2 ) O(N^2) O(N2) | |
0005 | 11. **Container With Most Water | 中等 | Array | 对撞指针 | O ( N ) O(N) O(N) | |
0006 | 18. 4Sum** | 中等 | Array | 排序, 对撞指针, 去重 | O ( N 3 ) O(N^3) O(N3) | |
0007 | 1266. Minimum Time Visiting All Points* | 简单 | Array | 发现规律 | O ( N ) O(N) O(N) | |
0008 | 448. *Find All Numbers Disappeared in an Array | 简单 | Array | 发现规律; 元素值作索引 | O ( N ) O(N) O(N) | |
0009 | 442. **Find All Duplicates in an Array | 中等 | Array | 发现规律; 元素值作索引 | O ( N ) O(N) O(N) | |
0010 | 287. **Find the Duplicate Number | 中等 | Array | 元素值作索引; 快慢指针 | O ( N ) O(N) O(N) | |
0011 | 695. **Max Area of Island | 中等 | Array | 动态规划; 深度优先 | O ( M × N ) O(M\times N) O(M×N) | |
0012 | 62. Unique Paths** | 中等 | Array | 动态规划 | O ( M × N ) O(M\times N) O(M×N) | |
0013 | 63. **Unique Paths II | 中等 | Array | 动态规划 | O ( M × N ) O(M\times N) O(M×N) | |
0014 | 832. *Flipping an Image | 简单 | Array | 异或; 翻转 | O ( M × N ) O(M\times N) O(M×N) | |
0015 | 238. Product of Array Except Self** | 中等 | Array | 发现规律; 分段求解 | O ( N ) O(N) O(N) | |
0016 | 169. Majority Element* | 简单 | Array | 投票法 | O ( N ) O(N) O(N) | 经典 |
0017 | 26. Remove Duplicates from Sorted Array* | 简单 | Array | 双指针 | O ( N ) O(N) O(N) | |
0018 | 27. Remove Element* | 简单 | Array | 双指针 | O ( N ) O(N) O(N) | |
0019 | 283. Move Zeroes* | 简单 | Array | 双指针 | O ( N ) O(N) O(N) | |
0020 | 229. Majority Element II** | 中等 | Array | 投票法 | O ( N ) O(N) O(N) | |
0021 | 268. Missing Number* | 简单 | Array | 异或;求和 | O ( N ) O(N) O(N) | |
0022 | 48. Rotate Image** | 中等 | Array | 观察规律 | O ( N × N ) O(N\times N) O(N×N) | |
0023 | 53. Maximum Subarray* | 简单 | Array | 动态规划; 双指针 | O ( N ) O(N) O(N) | |
0024 | 35. Search Insert Position* | 简单 | Array | 二分法 | O ( log N ) O(\log N) O(logN) | |
0025 | 34. Find First and Last Position of Element in Sorted Array** | 中等 | Array | 二分法 | O ( log N ) O(\log N) O(logN) | |
0026 | 33. Search in Rotated Sorted Array** | 中等 | Array | 二分法 | O ( log N ) O(\log N) O(logN) | |
0027 | 74. Search a 2D Matrix** | 中等 | Array | 二分法 | O ( log M N ) O(\log MN) O(logMN) | |
0028 | 240. Search a 2D Matrix II** | 中等 | Array | 发现规律 | 暂略 | |
0029 | 66. Plus One* | 简单 | Array | 进位符 | O ( N ) O(N) O(N) | |
0030 | 75. Sort Colors** | 中等 | Array | 三路快排 | O ( N ) O(N) O(N) | |
0031 | 977. Squares of a Sorted Array* | 简单 | Array | 双指针 | O ( N ) O(N) O(N) | |
0032 | 73. Set Matrix Zeroes** | 中等 | Array | 设置 Flag | O ( M × N ) O(M\times N) O(M×N) | |
0033 | 67. Add Binary* | 简单 | Array | 进位符 | O ( N ) O(N) O(N) | |
0034 | 58. Length of Last Word* | 简单 | Array | 暂略 | O ( N ) O(N) O(N) | |
0035 | 645. Set Mismatch* | 简单 | Array | 发现规律; 元素值作索引 | O ( N ) O(N) O(N) | |
0036 | 80. Remove Duplicates from Sorted Array II** | 中等 | Array | 双指针 | O ( N ) O(N) O(N) | |
0037 | 387. First Unique Character in a String* | 简单 | Array | 字典 | O ( N ) O(N) O(N) | |
0038 | 561. Array Partition I* | 简单 | Array | 找规律 | O ( N log N ) O(N\log N) O(NlogN) | |
0039 | 215. Kth Largest Element in an Array** | 中等 | Array | 排序; 优先队列 | O ( N log K ) O(N\log K) O(NlogK) | |
0040 | 88. Merge Sorted Array* | 简单 | Array | 从后向前 | O ( M + N ) O(M + N) O(M+N) | |
0041 | 566. Reshape the Matrix* | 简单 | Array | 遍历 | O ( M × N ) O(M \times N) O(M×N) | |
0042 | 724. Find Pivot Index* | 简单 | Array | 遍历; 求和 | O ( N ) O(N) O(N) | |
0043 | 118. Pascal’s Triangle* | 简单 | Array | 遍历 | O ( M × N ) O(M\times N) O(M×N) | |
0044 | 119. Pascal’s Triangle II* | 简单 | Array | 遍历 | O ( M × N ) O(M\times N) O(M×N) | |
0045 | 485. Max Consecutive Ones* | 简单 | Array | 遍历 | O ( N ) O(N) O(N) | |
0046 | 643. Maximum Average Subarray I* | 简单 | Array | 滑动窗口 | O ( N ) O(N) O(N) | |
0047 | 454. 4Sum II** | 中等 | Array | 哈希表 | O ( M × N ) O(M\times N) O(M×N) | |
0048 | 611. Valid Triangle Number** | 中等 | Array | 排序; 双指针 | O ( N 2 ) O(N^2) O(N2) | |
0049 | 153. Find Minimum in Rotated Sorted Array** | 中等 | Array | 二分法 | O ( log N ) O(\log N) O(logN) | |
0050 | 154. Find Minimum in Rotated Sorted Array II*** | 困难 | Array | 二分法 | O ( log N ) O(\log N) O(logN) | |
0051 | 69. Sqrt(x)* | 简单 | Array | 二分法 | O ( log N ) O(\log N) O(logN) | |
0052 | 9. Palindrome Number* | 简单 | Array | 数学; 求余 | O ( N ) O(N) O(N) | |
0053 | 56. Merge Intervals** | 中等 | Array | 排序 | O ( N log N ) O(N\log N) O(NlogN) | |
0054 | 692. Top K Frequent Words** | 中等 | Array | 哈希表; 优先队列 | O ( N log K ) O(N\log K) O(NlogK) | |
0055 | 506. Relative Ranks* | 简单 | Array | 排序 | O ( N log N ) O(N\log N) O(NlogN) | |
0056 | 747. Largest Number At Least Twice of Others* | 中等 | Array | 依次比较 | O ( N ) O(N) O(N) | |
0057 | 373. Find K Pairs with Smallest Sums** | 中等 | Array | 优先队列;最大堆 | O ( K log K ) O(K\log K) O(KlogK) | |
0058 | 665. Non-decreasing Array* | 简单 | Array | 遍历;策略 | O ( N ) O(N) O(N) | 点赞 |
0059 | 830. Positions of Large Groups* | 简单 | Array | 双指针 | O ( N ) O(N) O(N) | |
0060 | 792. Number of Matching Subsequences** | 中等 | Array | upper_bound | 暂略 | |
0061 | 1184. Distance Between Bus Stops* | 简单 | Array | 求和 | O ( N ) O(N) O(N) | |
0062 | 950. Reveal Cards In Increasing Order** | 中等 | Array | 排序;队列;找规律 | O ( N log N ) O(N\log N) O(NlogN) | |
0063 | 1222. Queens That Can Attack the King** | 中等 | Array | 遍历 | O ( 1 ) O(1) O(1) | |
0064 | 1295. Find Numbers with Even Number of Digits* | 简单 | Array | 统计数字个数 | O ( N ) O(N) O(N) | |
0065 | 1160. Find Words That Can Be Formed by Characters* | 简单 | Array | 字符个数统计 | O ( N ) O(N) O(N) | |
0066 | 905. Sort Array By Parity* | 简单 | Array | 元素交换 | O ( N ) O(N) O(N) | |
0067 | 922. Sort Array By Parity II* | 简单 | Array | 元素交换 | O ( N ) O(N) O(N) | |
0068 | 1051. Height Checker* | 简单 | Array | 排序 | O ( N log N ) O(N\log N) O(NlogN) | |
0069 | 1122. Relative Sort Array* | 简单 | Array | 哈希表;排序 | O ( N ) O(N) O(N) | |
0070 | 509. Fibonacci Number* | 简单 | Array | 循环 | O ( N ) O(N) O(N) | |
0071 | 1002. Find Common Characters* | 简单 | Array | 字符统计 | O ( N ) O(N) O(N) | |
0072 | 1200. Minimum Absolute Difference* | 简单 | Array | 排序 | O ( N log N ) O(N\log N) O(NlogN) | |
0073 | 985. Sum of Even Numbers After Queries* | 简单 | Array | 遍历 | O ( N ) O(N) O(N) | |
0074 | 1287. Element Appearing More Than 25% In Sorted Array* | 简单 | Array | 遍历 | O ( N ) O(N) O(N) | |
0075 | 1089. Duplicate Zeros* | 简单 | Array | 双指针 | O ( N ) O(N) O(N) | |
0076 | 1260. Shift 2D Grid* | 简单 | Array | 转换为 1D 数组 | O ( M × N ) O(M\times N) O(M×N) | |
0077 | 697. Degree of an Array* | 简单 | Array | 哈希表 | O ( N ) O(N) O(N) | |
0078 | 896. Monotonic Array* | 简单 | Array | 遍历 | O ( N ) O(N) O(N) | |
0079 | 1013. Partition Array Into Three Parts With Equal Sum* | 简单 | Array | 双指针 | O ( N ) O(N) O(N) | |
0080 | 888. Fair Candy Swap* | 简单 | Array | 哈希表 | O ( N ) O(N) O(N) | |
0081 | 1170. Compare Strings by Frequency of the Smallest Character* | 简单 | Array | 排序;upper_bound | O ( N log N ) O(N\log N) O(NlogN) | |
0082 | 1304. Find N Unique Integers Sum up to Zero* | 简单 | Array | 找规律 | O ( N ) O(N) O(N) | |
0083 | 1299. Replace Elements with Greatest Element on Right Side* | 简单 | Array | 从后向前遍历 | O ( N ) O(N) O(N) | |
0084 | 867. Transpose Matrix* | 简单 | Array | 遍历 | O ( M × N ) O(M\times N) O(M×N) | |
0085 | 766. Toeplitz Matrix* | 简单 | Array | 遍历 | O ( M × N ) O(M\times N) O(M×N) | |
0086 | 217. Contains Duplicate* | 简单 | Array | 哈希表 | O ( N ) O(N) O(N) | |
0087 | 122. Best Time to Buy and Sell Stock II* | 简单 | Array | 贪心 | O ( N ) O(N) O(N) | |
0088 | 717. 1-bit and 2-bit Characters* | 简单 | Array | 遍历 | O ( N ) O(N) O(N) | |
0089 | 121. Best Time to Buy and Sell Stock* | 简单 | Array | 遍历 | O ( N ) O(N) O(N) | |
0090 | 1232. Check If It Is a Straight Line* | 简单 | Array | 斜率比较 | O ( N ) O(N) O(N) | |
0091 | 628. Maximum Product of Three Numbers* | 简单 | Array | 遍历 | O ( N ) O(N) O(N) | |
0092 | 1018. Binary Prefix Divisible By 5* | 简单 | Array | 遍历; 求余 | O ( N ) O(N) O(N) | |
0093 | 1010. Pairs of Songs With Total Durations Divisible by 60* | 简单 | Array | 哈希表; 求余 | O ( N ) O(N) O(N) | |
0094 | 661. Image Smoother* | 简单 | Array | 遍历 | O ( M × N ) O(M\times N) O(M×N) | |
0095 | 1128. Number of Equivalent Domino Pairs* | 简单 | Array | 哈希表 | O ( N ) O(N) O(N) | |
0096 | 674. Longest Continuous Increasing Subsequence* | 简单 | Array | 动态规划 | O ( N ) O(N) O(N) | 经典 |
0097 | 989. Add to Array-Form of Integer* | 简单 | Array | 进位符 | O ( N ) O(N) O(N) | |
0098 | 849. Maximize Distance to Closest Person* | 简单 | Array | 遍历 | O ( N ) O(N) O(N) | |
0099 | 840. Magic Squares In Grid* | 简单 | Array | 暴力求解 | O ( M × N ) O(M\times N) O(M×N) | |
0100 | 219. Contains Duplicate II* | 简单 | Array | 哈希表/滑动窗口 | O ( N ) O(N) O(N) | |
0101 | 941. Valid Mountain Array* | 简单 | Array | 双指针 | O ( N ) O(N) O(N) | |
0102 | 189. Rotate Array* | 简单 | Array | reverse | O ( N ) O(N) O(N) | |
0103 | 914. X of a Kind in a Deck of Cards* | 简单 | Array | 最大公约数 | O ( N ) O(N) O(N) | |
0104 | 605. Can Place Flowers* | 简单 | Array | 贪婪算法 | O ( N ) O(N) O(N) | |
0105 | 532. K-diff Pairs in an Array* | 简单 | Array | 哈希表/排序+二分法 | O ( N ) O(N) O(N) | |
0106 | 581. Shortest Unsorted Continuous Subarray* | 简单 | Array | 遍历/排序 | O ( N ) O(N) O(N) | |
0107 | 414. Third Maximum Number* | 简单 | Array | 遍历;比较 | O ( N ) O(N) O(N) | |
0108 | 1277. Count Square Submatrices with All Ones** | 中等 | Array | 动态规划 | O ( M × N ) O(M\times N) O(M×N) | |
0109 | 969. Pancake Sorting** | 中等 | Array | 策略设计;发现规律 | O ( N × N ) O(N\times N) O(N×N) | |
0110 | 64. Minimum Path Sum** | 中等 | Array | 动态规划 | O ( M × N ) O(M\times N) O(M×N) | |
0111 | 746. Min Cost Climbing Stairs* | 简单 | Array | 动态规划 | O ( N ) O(N) O(N) | |
0112 | 123. Best Time to Buy and Sell Stock III*** | 困难 | Array | 动态规划 | O ( K × N ) O(K\times N) O(K×N) | |
0113 | 188. Best Time to Buy and Sell Stock IV*** | 困难 | Array | 动态规划 | O ( K × N ) O(K\times N) O(K×N) | |
0114 | 309. Best Time to Buy and Sell Stock with Cooldown** | 中等 | Array | 动态规划 | O ( N ) O(N) O(N) | |
0115 | 714. Best Time to Buy and Sell Stock with Transaction Fee** | 中等 | Array | 动态规划 | O ( N ) O(N) O(N) | |
0116 | Best Time to Buy and Sell Stock 系列总结 | 总结文章 | Array | 动态规划 | 暂略 | 注意复习 |
0117 | 78. Subsets** | 中等 | Array | 深度优先;回溯;迭代 | 暂略 | |
0118 | 46. Permutations** | 中等 | Array | 深度优先;回溯 | 暂略 | |
0119 | 47. Permutations II** | 中等 | Array | 深度优先;回溯; 哈希表 | 暂略 | |
0120 | 1011. Capacity To Ship Packages Within D Days** | 中等 | Array | Binary Search | O ( N log N ) O(N\log N) O(NlogN) | |
0121 | 1031. Maximum Sum of Two Non-Overlapping Subarrays** | 中等 | Array | 累加和;遍历更新 | O ( N ) O(N) O(N) | |
0122 | 1233. Remove Sub-Folders from the Filesystem** | 中等 | Array | 排序;子字符串 | O ( N log N ) O(N\log N) O(NlogN) | |
0123 | 926. Flip String to Monotone Increasing** | 中等 | Array | 动态规划 | O ( N ) O(N) O(N) | |
0124 | 162. Find Peak Element** | 中等 | Array | Binary Search | O ( log N ) O(\log N) O(logN) | |
0125 | 120. Triangle** | 中等 | Array | 动态规划 | O ( N 2 ) O(N^2) O(N2) | |
0126 | 670. Maximum Swap** | 中等 | Array | 贪婪策略 | O ( N ) O(N) O(N) | |
0127 | 825. Friends Of Appropriate Ages** | 中等 | Array | 额外空间;元素值有范围 | O ( N ) O(N) O(N) | |
0128 | 775. Global and Local Inversions** | 中等 | Array | 观察规律 | O ( N ) O(N) O(N) | |
0129 | 713. Subarray Product Less Than K** | 中等 | Array | 滑动窗口 | O ( N ) O(N) O(N) | |
0130 | 39. Combination Sum** | 中等 | Array | DFS + Backtracing | 暂略 | |
0131 | 40. Combination Sum II** | 中等 | Array | DFS + Backtracing | 暂略 | |
0132 | 40. Combination Sum III** | 中等 | Array | DFS + Backtracing | 暂略 | |
0133 | 1052. Grumpy Bookstore Owner** | 中等 | Array | 滑动窗口 | O ( N ) O(N) O(N) | |
0134 | 495. Teemo Attacking** | 中等 | Array | 遍历 | O ( N ) O(N) O(N) | |
0135 | 1014. Best Sightseeing Pair** | 中等 | Array | 遍历 | O ( N ) O(N) O(N) | |
0136 | 79. Word Search** | 中等 | Array | DFS + Backtracing | 暂略 | |
0137 | 209. Minimum Size Subarray Sum** | 中等 | Array | 双指针 | O ( N ) O(N) O(N) | |
0138 | 974. Subarray Sums Divisible by K** | 中等 | Array | Prefix Sum; 求余 | O ( N ) O(N) O(N) | 求余公式 |
0139 | 1108. Defanging an IP Address* | 简单 | String | 字符串替换 | O ( N ) O(N) O(N) | |
0140 | 1221. Split a String in Balanced Strings* | 简单 | String | 哈希表 | O ( N ) O(N) O(N) | |
0141 | 890. Find and Replace Pattern** | 中等 | String | 哈希表 | O ( N ) O(N) O(N) | |
0142 | 537. Complex Number Multiplication** | 中等 | String | 数学公式 | O ( 1 ) O(1) O(1) | |
0143 | 791. Custom Sort String** | 中等 | String | 哈希表 | O ( N ) O(N) O(N) | |
0144 | 1249. Minimum Remove to Make Valid Parentheses** | 中等 | String | 栈 | O ( N ) O(N) O(N) | |
0145 | 22. Generate Parentheses** | 中等 | String | 栈 | O ( N ) O(N) O(N) | |
0146 | 1324. Print Words Vertically** | 中等 | String | 遍历 | O ( N ) O(N) O(N) | |
0147 | 647. Palindromic Substrings** | 中等 | String | 中心展开;动态规划 | O ( N 2 ) O(N^2) O(N2) | |
0148 | 709. To Lower Case* | 简单 | String | 遍历 | O ( N ) O(N) O(N) | |
0149 | 1309. Decrypt String from Alphabet to Integer Mapping* | 简单 | String | 从后向前遍历 | O ( N ) O(N) O(N) | |
0150 | 804. Unique Morse Code Words* | 简单 | String | 哈希表 | O ( N ) O(N) O(N) | |
0151 | 657. Robot Return to Origin* | 简单 | String | 遍历 | O ( N ) O(N) O(N) | |
0152 | 929. Unique Email Addresses* | 简单 | String | 哈希表 | O ( N 2 ) O(N^2) O(N2) | |
0153 | 344. Reverse String* | 简单 | String | swap | O ( N ) O(N) O(N) | |
0154 | 541. Reverse String II* | 简单 | String | reverse | O ( N ) O(N) O(N) | |
0155 | 151. Reverse Words in a String** | 中等 | String | reverse | O ( N ) O(N) O(N) | |
0156 | 557. Reverse Words in a String III* | 简单 | String | reverse | O ( N ) O(N) O(N) | |
0157 | 609. Find Duplicate File in System** | 中等 | String | 哈希表+stringstream | O ( N 2 ) O(N^2) O(N2) | |
0158 | 1247. Minimum Swaps to Make Strings Equal** | 中等 | String | 规律观察 | O ( N ) O(N) O(N) | |
0159 | 917. Reverse Only Letters* | 简单 | String | 遍历 | O ( N ) O(N) O(N) | |
0160 | 893. Groups of Special-Equivalent Strings* | 简单 | String | 哈希表;排序 | O ( N ) O(N) O(N) | |
0161 | 1189. Maximum Number of Balloons* | 简单 | String | 哈希表 | O ( N ) O(N) O(N) | |
0162 | 1023. Camelcase Matching** | 中等 | String | 遍历 | O ( N ) O(N) O(N) | |
0163 | 49. Group Anagrams** | 中等 | String | 哈希表 | O ( N × K × log K ) O(N\times K\times \log K) O(N×K×logK) | |
0164 | 521. Longest Uncommon Subsequence I* | 简单 | String | max | O ( 1 ) O(1) O(1) | |
0165 | 824. Goat Latin* | 简单 | String | 哈希表+stringstream | O ( N ) O(N) O(N) | |
0166 | 12. Integer to Roman** | 中等 | String | upper_bound | O ( log N ) O(\log N) O(logN) | |
0167 | 13. Roman to Integer* | 简单 | String | 哈希表 | O ( N ) O(N) O(N) | |
0168 | 788. Rotated Digits* | 简单 | String | 遍历 | O ( N ) O(N) O(N) | |
0169 | 520. Detect Capital* | 简单 | String | 遍历 | O ( N ) O(N) O(N) | |
0170 | 606. Construct String from Binary Tree* | 简单 | String | 递归 | 暂略 | |
0171 | 937. Reorder Data in Log Files* | 简单 | String | 排序 | O ( N log N ) O(N\log N) O(NlogN) | |
0172 | 1337. Remove Palindromic Subsequences* | 简单 | String | 回文串判断+抖机灵 | O ( N ) O(N) O(N) | |
0173 | 1003. Check If Word Is Valid After Substitutions** | 中等 | String | vector | O ( N ) O(N) O(N) | |
0174 | 383. Ransom Note* | 简单 | String | 哈希表 | O ( N ) O(N) O(N) | |
0175 | 551. Student Attendance Record I* | 简单 | String | 哈希表 | O ( N ) O(N) O(N) | |
0176 | 415. Add Strings* | 简单 | String | carry_over | O ( N ) O(N) O(N) | |
0177 | 925. Long Pressed Name* | 简单 | String | 双指针 | O ( N ) O(N) O(N) | |
0178 | 819. Most Common Word* | 简单 | String | 哈希表+stringstream | O ( N ) O(N) O(N) | |
0179 | 345. Reverse Vowels of a String* | 简单 | String | 双指针;swap | O ( N ) O(N) O(N) | |
0180 | 916. Word Subsets** | 中等 | String | 字符统计求最大值 | O ( N ) O(N) O(N) | |
0181 | 833. Find And Replace in String** | 中等 | String | 排序;替换 | O ( N log N ) O(N\log N) O(NlogN) | |
0182 | 38. Count and Say* | 简单 | String | 双指针 | O ( N ) O(N) O(N) | |
0183 | 539. Minimum Time Difference** | 中等 | String | 排序 | O ( N log N ) O(N\log N) O(NlogN) | |
0184 | 1138. Alphabet Board Path** | 中等 | String | 排序 | O ( N ) O(N) O(N) | |
0185 | 816. Ambiguous Coordinates** | 中等 | String | 考虑特殊情况 | O ( N ) O(N) O(N) | |
0186 | 443. String Compression* | 简单 | String | 双指针 | O ( N ) O(N) O(N) | |
0187 | 434. Number of Segments in a String* | 简单 | String | 双指针;stringstream | O ( N ) O(N) O(N) | |
0188 | 20. Valid Parentheses* | 简单 | String | 栈 | O ( N ) O(N) O(N) | |
0189 | 680. Valid Palindrome II* | 简单 | String | 对撞指针 | O ( N ) O(N) O(N) | |
0190 | 14. Longest Common Prefix* | 简单 | String | 遍历 | O ( N ) O(N) O(N) | |
0191 | 125. Valid Palindrome* | 简单 | String | 对撞指针 | O ( N ) O(N) O(N) | |
0192 | 859. Buddy Strings* | 简单 | String | 哈希表;分类讨论;对撞指针 | O ( N ) O(N) O(N) | |
0193 | 767. Reorganize String** | 中等 | String | 哈希表;最大堆 | O ( N ) O(N) O(N) | |
0194 | 28. Implement strStr()* | 简单 | String | 遍历;KMP | O ( N ) O(N) O(N) | |
0195 | 1268. Search Suggestions System** | 中等 | String | lower_bound | O ( N log N ) O(N\log N) O(NlogN) | |
0196 | 1016. Binary String With Substrings Representing 1 To N** | 中等 | String | bitset | O ( N ) O(N) O(N) | |
0197 | 1347. Minimum Number of Steps to Make Two Strings Anagram** | 中等 | String | 哈希表 | O ( N ) O(N) O(N) | |
0198 | 459. Repeated Substring Pattern* | 简单 | String | 递归;KMP | O ( N ) O(N) O(N) | |
0199 | 6. ZigZag Conversion** | 中等 | String | 找规律 | O ( N ) O(N) O(N) | |
0200 | 43. Multiply Strings** | 中等 | String | carry_over ;字符串相加 | O ( M × N ) O(M\times N) O(M×N) | |
0201 | 848. Shifting Letters** | 中等 | String | 求余 | O ( N ) O(N) O(N) | |
0202 | 686. Repeated String Match* | 简单 | String | KMP;找规律 | O ( N ) O(N) O(N) | |
0203 | 71. Simplify Path** | 中等 | String | 栈 | O ( N ) O(N) O(N) | |
0204 | 17. Letter Combinations of a Phone Number** | 中等 | String | DFS+Backtracing | 暂略 | |
0205 | 3. Longest Substring Without Repeating Characters** | 中等 | String | 双指针+哈希表 | O ( N ) O(N) O(N) | |
0206 | 5. Longest Palindromic Substring** | 中等 | String | 中心展开;动态规划 | O ( N 2 ) O(N^2) O(N2) | |
0207 | 165. Compare Version Numbers** | 中等 | String | stringstream | O ( N ) O(N) O(N) | |
0208 | 1311. Get Watched Videos by Your Friends** | 中等 | String | BFS;哈希表 | O ( N ) O(N) O(N) | |
0209 | 1328. Break a Palindrome** | 中等 | String | 找规律 | O ( N ) O(N) O(N) | |
0210 | 1169. Invalid Transactions** | 中等 | String | 哈希表 | O ( N 2 ) O(N^2) O(N2) | |
0211 | 227. Basic Calculator II** | 中等 | String | 栈;stringstream | O ( N ) O(N) O(N) | |
0212 | 938. Range Sum of BST* | 简单 | Tree | 前序遍历 | O ( N ) O(N) O(N) | |
0213 | 617. Merge Two Binary Trees* | 简单 | Tree | 后序遍历 | O ( N ) O(N) O(N) | |
0214 | 700. Search in a Binary Search Tree* | 简单 | Tree | 二叉搜索树 | O ( log N ) O(\log N) O(logN) | |
0215 | 589. N-ary Tree Preorder Traversal* | 简单 | Tree | 递归;迭代;前序遍历 | O ( N ) O(N) O(N) | |
0216 | 429. N-ary Tree Level Order Traversal** | 中等 | Tree | 层序遍历;队列 | O ( N ) O(N) O(N) | |
0217 | 590. N-ary Tree Postorder Traversal* | 简单 | Tree | 递归;迭代;后序遍历 | O ( N ) O(N) O(N) | |
0218 | 559. Maximum Depth of N-ary Tree* | 简单 | Tree | 递归 | O ( N ) O(N) O(N) | |
0219 | 897. Increasing Order Search Tree* | 简单 | Tree | 递归;中序遍历 | O ( N ) O(N) O(N) | |
0220 | 965. Univalued Binary Tree* | 简单 | Tree | 递归;前序遍历 | O ( N ) O(N) O(N) | |
0221 | 872. Leaf-Similar Trees* | 简单 | Tree | 递归;前序遍历 | O ( N ) O(N) O(N) | |
0222 | 1022. Sum of Root To Leaf Binary Numbers* | 简单 | Tree | DFS+Backtracing;前序遍历 | O ( N ) O(N) O(N) | |
0223 | 104. Maximum Depth of Binary Tree* | 简单 | Tree | 递归 | O ( N ) O(N) O(N) | |
0224 | 669. Trim a Binary Search Tree* | 简单 | Tree | 递归 | O ( N ) O(N) O(N) | |
0225 | 226. Invert Binary Tree* | 简单 | Tree | 递归;迭代;swap | O ( N ) O(N) O(N) | |
0226 | 637. Average of Levels in Binary Tree* | 简单 | Tree | 层序遍历 | O ( N ) O(N) O(N) | |
0227 | 108. Convert Sorted Array to Binary Search Tree* | 简单 | Tree | 前序遍历 | O ( N ) O(N) O(N) | |
0228 | 653. Two Sum IV - Input is a BST* | 简单 | Tree | 哈希表;对撞指针 | O ( N ) O(N) O(N) | |
0229 | 538. Convert BST to Greater Tree* | 简单 | Tree | 中序遍历;全局变量 | O ( N ) O(N) O(N) | |
0230 | 530. Minimum Absolute Difference in BST* | 简单 | Tree | 中序遍历;全局变量 | O ( N ) O(N) O(N) | |
0231 | 993. Cousins in Binary Tree* | 简单 | Tree | 层序遍历 | O ( N ) O(N) O(N) | |
0232 | 100. Same Tree* | 简单 | Tree | 递归 | 暂略 | |
0233 | 783. Minimum Distance Between BST Nodes* | 简单 | Tree | 中序遍历;全局变量 | O ( N ) O(N) O(N) | |
0234 | 404. Sum of Left Leaves* | 简单 | Tree | 层序遍历;递归 | O ( N ) O(N) O(N) | |
0235 | 107. Binary Tree Level Order Traversal II* | 简单 | Tree | 层序遍历;reverse | O ( N ) O(N) O(N) | |
0236 | 257. Binary Tree Paths* | 简单 | Tree | 递归;DFS | O ( N ) O(N) O(N) | |
0237 | 235. Lowest Common Ancestor of a Binary Search Tree* | 简单 | Tree | 递归;迭代 | O ( N ) O(N) O(N) | |
0238 | 543. Diameter of Binary Tree* | 简单 | Tree | 递归;全局变量 | O ( N ) O(N) O(N) | |
0239 | 563. Binary Tree Tilt* | 简单 | Tree | 递归;全局变量 | O ( N ) O(N) O(N) | |
0240 | 101. Symmetric Tree* | 简单 | Tree | 递归;迭代 | O ( N ) O(N) O(N) | |
0241 | 111. Minimum Depth of Binary Tree* | 简单 | Tree | 递归 | O ( N ) O(N) O(N) | |
0242 | 112. Path Sum* | 简单 | Tree | 递归 | O ( N ) O(N) O(N) | |
0243 | 113. Path Sum II** | 中等 | Tree | 递归 | O ( N ) O(N) O(N) | |
0244 | 437. Path Sum III* | 简单 | Tree | 递归 | O ( N ) O(N) O(N) | |
0245 | 572. Subtree of Another Tree* | 简单 | Tree | 递归 | 暂略 | |
0246 | 671. Second Minimum Node In a Binary Tree* | 简单 | Tree | 递归;全局变量 | O ( N ) O(N) O(N) | |
0247 | 110. Balanced Binary Tree* | 简单 | Tree | 递归 | 暂略 | |
0248 | 501. Find Mode in Binary Search Tree* | 简单 | Tree | 递归 | O ( N ) O(N) O(N) | |
0249 | 687. Longest Univalue Path* | 简单 | Tree | 递归;全局变量 | O ( N ) O(N) O(N) | |
0250 | 1315. Sum of Nodes with Even-Valued Grandparent** | 中等 | Tree | 前序遍历 | O ( N ) O(N) O(N) | |
0251 | 701. Insert into a Binary Search Tree** | 中等 | Tree | 递归;迭代 | O ( N ) O(N) O(N) | |
0252 | 1302. Deepest Leaves Sum** | 中等 | Tree | 层序遍历 | O ( N ) O(N) O(N) | |
0253 | 654. Maximum Binary Tree** | 中等 | Tree | 递归;查找最大值 | O ( N ) O(N) O(N) | |
0254 | 1008. Construct Binary Search Tree from Preorder Traversal** | 中等 | Tree | 递归 | O ( N ) O(N) O(N) | |
0255 | 1305. All Elements in Two Binary Search Trees** | 中等 | Tree | 中序遍历 | O ( N ) O(N) O(N) | |
0256 | 1325. Delete Leaves With a Given Value** | 中等 | Tree | 后序遍历;指针的引用 | O ( N ) O(N) O(N) | |
0257 | 814. Binary Tree Pruning** | 中等 | Tree | 后序遍历;指针的引用 | O ( N ) O(N) O(N) | |
0258 | 894. All Possible Full Binary Trees** | 中等 | Tree | 后序遍历;哈希表 | O ( 2 N ) O(2^N) O(2N) | |
0259 | 1261. Find Elements in a Contaminated Binary Tree** | 中等 | Tree | 前序遍历;哈希表 | O ( N ) O(N) O(N) | |
0260 | 102. Binary Tree Level Order Traversal** | 中等 | Tree | 层序遍历;队列 | O ( N ) O(N) O(N) | |
0261 | 144. Binary Tree Preorder Traversal** | 中等 | Tree | 前序遍历;迭代形式 | O ( N ) O(N) O(N) | |
0262 | 94. Binary Tree Inorder Traversal** | 中等 | Tree | 中序遍历;迭代形式 | O ( N ) O(N) O(N) | |
0263 | 145. Binary Tree Postorder Traversal*** | 困难 | Tree | 后序遍历;迭代形式 | O ( N ) O(N) O(N) | |
0264 | 1104. Path In Zigzag Labelled Binary Tree** | 中等 | Tree | 找规律 | O ( N ) O(N) O(N) | |
0265 | 513. Find Bottom Left Tree Value** | 中等 | Tree | 层序遍历 | O ( N ) O(N) O(N) | |
0266 | 515. Find Largest Value in Each Tree Row** | 中等 | Tree | 层序遍历 | O ( N ) O(N) O(N) | |
0267 | 998. Maximum Binary Tree II** | 中等 | Tree | 递归 | O ( N ) O(N) O(N) | |
0268 | 889. Construct Binary Tree from Preorder and Postorder Traversal** | 中等 | Tree | 递归 | O ( N ) O(N) O(N) | |
0269 | 508. Most Frequent Subtree Sum** | 中等 | Tree | 后序遍历;哈希表 | O ( N ) O(N) O(N) | |
0270 | 230. Kth Smallest Element in a BST** | 中等 | Tree | 中序遍历;全局变量 | O ( N ) O(N) O(N) | |
0271 | 199. Binary Tree Right Side View** | 中等 | Tree | 层序遍历 | O ( N ) O(N) O(N) | |
0272 | 655. Print Binary Tree** | 中等 | Tree | 前序遍历;层序遍历 | O ( N ) O(N) O(N) | |
0273 | 173. Binary Search Tree Iterator** | 中等 | Tree | 中序遍历 | O ( N ) O(N) O(N) | |
0274 | 958. Check Completeness of a Binary Tree** | 中等 | Tree | 层序遍历 | O ( N ) O(N) O(N) | |
0275 | 222. Count Complete Tree Nodes** | 中等 | Tree | 层序遍历;前序遍历 | O ( N ) O(N) O(N) | |
0276 | 450. Delete Node in a BST** | 中等 | Tree | BST 节点删除 | O ( N ) O(N) O(N) | |
0277 | 105. Construct Binary Tree from Preorder and Inorder Traversal** | 中等 | Tree | 递归;哈希表 | O ( N ) O(N) O(N) | |
0278 | 96. Unique Binary Search Trees** | 中等 | Tree | 记忆化搜索;动态规划 | O ( N 2 ) O(N^2) O(N2) | |
0279 | 114. Flatten Binary Tree to Linked List** | 中等 | Tree | 后序遍历;全局变量 | O ( N 2 ) O(N^2) O(N2) | |
0280 | 95. Unique Binary Search Trees II** | 中等 | Tree | 后序遍历;递归 | 暂略 | |
0281 | 987. Vertical Order Traversal of a Binary Tree** | 中等 | Tree | 前序遍历;排序 | O ( N log N ) O(N\log N) O(NlogN) | |
0282 | 116. Populating Next Right Pointers in Each Node** | 中等 | Tree | 层序遍历 | O ( N ) O(N) O(N) | |
0283 | 117. Populating Next Right Pointers in Each Node II** | 中等 | Tree | 层序遍历 | O ( N ) O(N) O(N) | |
0284 | 513. Find Bottom Left Tree Value** | 中等 | Tree | 层序遍历 | O ( N ) O(N) O(N) | |
0285 | 919. Complete Binary Tree Inserter** | 中等 | Tree | 层序遍历 | O ( N ) O(N) O(N) | |
0286 | 1365. How Many Numbers Are Smaller Than the Current Number* | 简单 | 哈希表 | 哈希表 | O ( N 2 ) O(N^2) O(N2) | |
0287 | 771. Jewels and Stones* | 简单 | 哈希表 | 哈希表 | O ( N ) O(N) O(N) | |
0288 | 961. N-Repeated Element in Size 2N Array* | 简单 | 哈希表 | 哈希表 | O ( N ) O(N) O(N) | |
0289 | 1207. Unique Number of Occurrences* | 简单 | 哈希表 | 哈希表 | O ( N ) O(N) O(N) | |
0290 | 136. Single Number* | 简单 | 哈希表 | 异或 | O ( N ) O(N) O(N) | |
0291 | 811. Subdomain Visit Count* | 简单 | 哈希表 | 哈希表+stringstream | O ( N ) O(N) O(N) | |
0292 | 1078. Occurrences After Bigram* | 简单 | 哈希表 | stringstream | O ( N ) O(N) O(N) | |
0293 | 500. Keyboard Row* | 简单 | 哈希表 | 哈希表 | O ( N ) O(N) O(N) | |
0294 | 463. Island Perimeter* | 简单 | 哈希表 | 找规律 | O ( N 2 ) O(N^2) O(N2) | |
0295 | 884. Uncommon Words from Two Sentences* | 简单 | 哈希表 | 哈希表+stringstream | O ( N ) O(N) O(N) | |
0296 | 349. Intersection of Two Arrays* | 简单 | 哈希表 | 哈希表 | O ( N ) O(N) O(N) | |
0297 | 575. Distribute Candies* | 简单 | 哈希表 | 哈希表;找规律 | O ( N ) O(N) O(N) | |
0298 | 690. Employee Importance* | 简单 | 哈希表 | 树问题;DFS;层序遍历 | O ( N ) O(N) O(N) | |
0299 | 748. Shortest Completing Word* | 简单 | 哈希表 | 字符个数统计 | O ( N ) O(N) O(N) | |
0300 | 242. Valid Anagram* | 简单 | 哈希表 | 字符个数统计 | O ( N ) O(N) O(N) | |
0301 | 389. Find the Difference* | 简单 | 哈希表 | 字符个数统计;异或 | O ( N ) O(N) O(N) | |
0302 | 953. Verifying an Alien Dictionary* | 简单 | 哈希表 | 哈希表 | O ( N ) O(N) O(N) | |
0303 | 350. Intersection of Two Arrays II* | 简单 | 哈希表 | 哈希表 | O ( N ) O(N) O(N) | |
0304 | 447. Number of Boomerangs* | 简单 | 哈希表 | 哈希表 | O ( N 2 ) O(N^2) O(N2) | |
0305 | 594. Longest Harmonious Subsequence* | 简单 | 哈希表 | 哈希表 | O ( N ) O(N) O(N) | |
0306 | 720. Longest Word in Dictionary* | 简单 | 哈希表 | 哈希表;排序;字典序 | O ( N ) O(N) O(N) | |
0307 | 409. Longest Palindrome* | 简单 | 哈希表 | 哈希表;奇偶判断 | O ( N ) O(N) O(N) | |
0308 | 599. Minimum Index Sum of Two Lists* | 简单 | 哈希表 | 哈希表;求最值 | O ( N ) O(N) O(N) | |
0309 | 347. Top K Frequent Elements** | 中等 | 哈希表 | 哈希表;最大堆 | O ( N log K ) O(N\log K) O(NlogK) | |
0310 | 451. Sort Characters By Frequency** | 中等 | 哈希表 | 哈希表;最大堆 | O ( N log K ) O(N\log K) O(NlogK) | |
0311 | 781. Rabbits in Forest** | 中等 | 哈希表 | 哈希表;找规律 | O ( N ) O(N) O(N) | |
0312 | 648. Replace Words** | 中等 | 哈希表 | 哈希表;Trie树;前缀 | O ( N ) O(N) O(N) | |
0313 | 138. Copy List with Random Pointer** | 中等 | 哈希表 | 哈希表;链表 | O ( N ) O(N) O(N) | |
0314 | 438. Find All Anagrams in a String** | 中等 | 哈希表 | 哈希表;数组 | O ( N ) O(N) O(N) | |
0315 | 36. Valid Sudoku** | 中等 | 哈希表 | 哈希表 | O ( 1 ) O(1) O(1) | |
0316 | 187. Repeated DNA Sequences** | 中等 | 哈希表 | 哈希表 | O ( N ) O(N) O(N) | |
0317 | 1046. Last Stone Weight* | 简单 | 堆 | 最大堆 | O ( N ) O(N) O(N) | |
0318 | 703. Kth Largest Element in a Stream* | 简单 | 堆 | 最小堆 | O ( N ) O(N) O(N) | |
0319 | 973. K Closest Points to Origin** | 中等 | 堆 | 最小堆 | O ( N ) O(N) O(N) | |
0320 | 378. Kth Smallest Element in a Sorted Matrix** | 中等 | 堆 | 最大堆 | O ( N ) O(N) O(N) | |
0321 | 23. Merge k Sorted Lists*** | 困难 | 堆 | 最小堆;链表 | O ( N ) O(N) O(N) | |
0322 | 1290. Convert Binary Number in a Linked List to Integer* | 简单 | 链表 | 求和 | O ( N ) O(N) O(N) | |
0323 | 876. Middle of the Linked List* | 简单 | 链表 | 快慢指针 | O ( N ) O(N) O(N) | |
0324 | 206. Reverse Linked List* | 简单 | 链表 | 反转链表;递归;迭代 | O ( N ) O(N) O(N) | |
0325 | 237. Delete Node in a Linked List* | 简单 | 链表 | 替换节点的值 | O ( 1 ) O(1) O(1) | |
0326 | 21. Merge Two Sorted Lists* | 简单 | 链表 | 移动 | O ( N ) O(N) O(N) | |
0327 | 83. Remove Duplicates from Sorted List* | 简单 | 链表 | 移动 | O ( N ) O(N) O(N) | |
0328 | 141. Linked List Cycle* | 简单 | 链表 | 快慢指针 | O ( N ) O(N) O(N) | |
0329 | 817. Linked List Components** | 中等 | 链表 | 哈希表 | O ( N ) O(N) O(N) | |
0330 | 1019. Next Greater Node In Linked List** | 中等 | 链表 | 哈希表;栈 | O ( N ) O(N) O(N) | |
0331 | 445. Add Two Numbers II** | 中等 | 链表 | carry_over ;栈 | O ( N ) O(N) O(N) | |
0332 | 328. Odd Even Linked List** | 中等 | 链表 | 两个子链表 | O ( N ) O(N) O(N) | |
0333 | 725. Split Linked List in Parts** | 中等 | 链表 | 队列;多个子链表 | O ( N ) O(N) O(N) | |
0334 | 24. Swap Nodes in Pairs** | 中等 | 链表 | 迭代;递归 | O ( N ) O(N) O(N) | |
0335 | 109. Convert Sorted List to Binary Search Tree** | 中等 | 链表 | 递归;快慢指针 | O ( N ) O(N) O(N) | |
0336 | 86. Partition List** | 中等 | 链表 | 虚拟节点 | O ( N ) O(N) O(N) | |
0337 | 147. Insertion Sort List** | 中等 | 链表 | 虚拟节点; | O ( N 2 ) O(N^2) O(N2) | |
0338 | 148. Sort List** | 中等 | 链表 | 归并排序;快慢指针;虚拟节点; | O ( N log N ) O(N\log N) O(NlogN) | |
0339 | 92. Reverse Linked List II** | 中等 | 链表 | 虚拟节点; reverse | O ( N log N ) O(N\log N) O(NlogN) | |
0340 | 82. Remove Duplicates from Sorted List II** | 中等 | 链表 | 虚拟节点;设置 prev 节点 | O ( N ) O(N) O(N) | |
0341 | 142. Linked List Cycle II** | 中等 | 链表 | 快慢指针 | O ( N ) O(N) O(N) | |
0342 | 160. Intersection of Two Linked Lists* | 简单 | 链表 | 交换链表进行指向 | O ( N + M ) O(N + M) O(N+M) | |
0343 | 19. Remove Nth Node From End of List** | 中等 | 链表 | 两个指针 | O ( N ) O(N) O(N) | |
0344 | 143. Reorder List** | 中等 | 链表 | 快慢指针;链表合并 | O ( N ) O(N) O(N) | |
0345 | 2. Add Two Numbers** | 中等 | 链表 | carry_over | O ( N ) O(N) O(N) | |
0346 | 61. Rotate List** | 中等 | 链表 | 翻转;链表成环,断开; 递归 | O ( N ) O(N) O(N) | |
0347 | 25. Reverse Nodes in k-Group*** | 困难 | 链表 | 指定范围的链表翻转;迭代;递归 | O ( N ) O(N) O(N) | |
0348 | 234. Palindrome Linked List* | 简单 | 链表 | 链表翻转;快慢指针 | O ( N ) O(N) O(N) | |
0349 | 203. Remove Linked List Elements* | 简单 | 链表 | 虚拟节点 | O ( N ) O(N) O(N) | |
0350 | 1351. Count Negative Numbers in a Sorted Matrix* | 简单 | 二分法 | 不使用二分法;左下角开始搜索 | O ( M + N ) O(M+N) O(M+N) | |
0351 | 852. Peak Index in a Mountain Array* | 简单 | 二分法 | 二分搜索 | O ( log N ) O(\log N) O(logN) | |
0352 | 1337. The K Weakest Rows in a Matrix* | 简单 | 二分法 | 二分搜索;排序;最大堆 | O ( N log N ) O(N\log N) O(NlogN) | |
0353 | 704. Binary Search* | 简单 | 二分法 | 二分搜索 | O ( log N ) O(\log N) O(logN) | |
0354 | 392. Is Subsequence* | 简单 | 二分法 | upper_bound ;顺序遍历;find | O ( N ) O(N) O(N) | |
0355 | 744. Find Smallest Letter Greater Than Target* | 简单 | 二分法 | upper_bound | O ( log N ) O(\log N) O(logN) | |
0356 | 374. Guess Number Higher or Lower* | 简单 | 二分法 | 二分搜索 | O ( log N ) O(\log N) O(logN) | |
0357 | 367. Valid Perfect Square* | 简单 | 二分法 | 二分搜索 | O ( log N ) O(\log N) O(logN) | |
0358 | 278. First Bad Version* | 简单 | 二分法 | 二分搜索;upper_bound | O ( log N ) O(\log N) O(logN) |