# leetcode **Repository Path**: javaDaCaiNiao/leetcode ## Basic Information - **Project Name**: leetcode - **Description**: LeetCode刷题记录 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-11-12 - **Last Updated**: 2022-03-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, LeetCode ## README # leetcode ## 介绍 LeetCode刷题记录 ## 软件架构 使用Java编写解法 ### 滑动窗口 - [3. 无重复字符的最长子串(M)](https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/) ### 排序 - [169. 多数元素[E]](https://leetcode-cn.com/problems/majority-element/) - [389. 找不同[E]](https://leetcode-cn.com/problems/find-the-difference/) - [414. 第三大的数[E]](https://leetcode-cn.com/problems/third-maximum-number/) - [455. 分发饼干[E]](https://leetcode-cn.com/problems/assign-cookies/) - [506. 相对名次[E]](https://leetcode-cn.com/problems/relative-ranks/) #### 计数排序 - [1122. 数组的相对排序[E]](https://leetcode-cn.com/problems/relative-sort-array/) - [1051. 高度检查器[E]](https://leetcode-cn.com/problems/height-checker/) - [274. H 指数[M]](https://leetcode-cn.com/problems/h-index/) ### 链表 - [61. 旋转链表[M]](https://leetcode-cn.com/problems/rotate-list/) #### 反转链表 - [206. 反转链表[E]](https://leetcode-cn.com/problems/reverse-linked-list) - [92. 反转链表 II[M]](https://leetcode-cn.com/problems/reverse-linked-list-ii/) #### 环形链表 - [141. 环形链表[E]](https://leetcode-cn.com/problems/linked-list-cycle/) - [142. 环形链表 II[M]](https://leetcode-cn.com/problems/linked-list-cycle-ii) #### 合并链表 - [1669. 合并两个链表[M]](https://leetcode-cn.com/problems/merge-in-between-linked-lists/) ### 重复元素 #### 数组 - [217. 存在重复元素[E]](https://leetcode-cn.com/problems/contains-duplicate/) - [219. 存在重复元素 II[E]](https://leetcode-cn.com/problems/contains-duplicate-ii/) - [220. 存在重复元素 III[M]](https://leetcode-cn.com/problems/contains-duplicate-iii/) #### 链表 - [83. 删除排序链表中的重复元素[E]](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/) - [82. 删除排序链表中的重复元素 II[M]](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii) ### 二叉树 - [100. 相同的树[E]](https://leetcode-cn.com/problems/same-tree/) - [572. 另一棵树的子树[E]](https://leetcode-cn.com/problems/subtree-of-another-tree/) - [101. 对称二叉树[E]](https://leetcode-cn.com/problems/symmetric-tree/) - [104. 二叉树的最大深度[E]](https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/) - [111. 二叉树的最小深度[E]](https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/) - [543. 二叉树的直径[E]](https://leetcode-cn.com/problems/diameter-of-binary-tree/) - [563. 二叉树的坡度[E]](https://leetcode-cn.com/problems/binary-tree-tilt/) - [108. 将有序数组转换为二叉搜索树[E]](https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree/) - [112. 路径总和[E]](https://leetcode-cn.com/problems/path-sum/) - [226. 翻转二叉树[E]](https://leetcode-cn.com/problems/invert-binary-tree/) - [257. 二叉树的所有路径[E]](https://leetcode-cn.com/problems/binary-tree-paths/) - [404. 左叶子之和[E]](https://leetcode-cn.com/problems/sum-of-left-leaves/) - [530. 二叉搜索树的最小绝对差[E]](https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst/) - [653. 两数之和 IV - 输入 BST[E]](https://leetcode-cn.com/problems/two-sum-iv-input-is-a-bst/) #### DFS(深度优先遍历) - [606. 根据二叉树创建字符串[E]](https://leetcode-cn.com/problems/construct-string-from-binary-tree/) - [617. 合并二叉树[E]](https://leetcode-cn.com/problems/merge-two-binary-trees/) - [671. 二叉树中第二小的节点[E]](https://leetcode-cn.com/problems/second-minimum-node-in-a-binary-tree/) #### BFS(广度优先遍历) - [637. 二叉树的层平均值[E]](https://leetcode-cn.com/problems/average-of-levels-in-binary-tree/) #### 遍历 - [94. 二叉树的中序遍历[E]](https://leetcode-cn.com/problems/binary-tree-inorder-traversal) - [98. 验证二叉搜索树[M]](https://leetcode-cn.com/problems/validate-binary-search-tree) - [144. 二叉树的前序遍历[E]](https://leetcode-cn.com/problems/binary-tree-preorder-traversal) - [145. 二叉树的后序遍历[E]](https://leetcode-cn.com/problems/binary-tree-postorder-traversal) - [102. 二叉树的层序遍历[M]](https://leetcode-cn.com/problems/binary-tree-level-order-traversal/) - [958. 二叉树的完全性检验[M]](https://leetcode-cn.com/problems/check-completeness-of-a-binary-tree) - [107. 二叉树的层序遍历 II[M]](https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/) #### 树形DP - [98. 验证二叉搜索树[M]](https://leetcode-cn.com/problems/validate-binary-search-tree) - [110. 平衡二叉树[E]](https://leetcode-cn.com/problems/balanced-binary-tree/) - [337. 打家劫舍 III[M]](https://leetcode-cn.com/problems/house-robber-iii/) #### 最小公共祖先 - [235. 二叉搜索树的最近公共祖先[E]](https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree/) #### 后继结点 - [剑指 Offer II 053. 二叉搜索树中的中序后继[M]](https://leetcode-cn.com/problems/P5rCT8/) #### 二叉搜索树 - [501. 二叉搜索树中的众数[E]](https://leetcode-cn.com/problems/find-mode-in-binary-search-tree/) - [700. 二叉搜索树中的搜索[E]](https://leetcode-cn.com/problems/search-in-a-binary-search-tree/) - [783. 二叉搜索树节点最小距离[E]](https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes/) - [897. 递增顺序搜索树[E]](https://leetcode-cn.com/problems/increasing-order-search-tree/) - [938. 二叉搜索树的范围和[E]](https://leetcode-cn.com/problems/range-sum-of-bst/) #### 序列化 - [331. 验证二叉树的前序序列化[M]](https://leetcode-cn.com/problems/verify-preorder-serialization-of-a-binary-tree/) - [297. 二叉树的序列化与反序列化[H]](https://leetcode-cn.com/problems/serialize-and-deserialize-binary-tree/) - [449. 序列化和反序列化二叉搜索树[M]](https://leetcode-cn.com/problems/serialize-and-deserialize-bst/) - [105. 从前序与中序遍历序列构造二叉树[M]](https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/) - [106. 从中序与后序遍历序列构造二叉树[M]](https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/) ### 前缀树 - [208. 实现 Trie (前缀树[M])](https://leetcode-cn.com/problems/implement-trie-prefix-tree/) - [211. 添加与搜索单词 - 数据结构设计[M]](https://leetcode-cn.com/problems/design-add-and-search-words-data-structure/) - [676. 实现一个魔法字典[M]](https://leetcode-cn.com/problems/implement-magic-dictionary/) - [720. 词典中最长的单词[E]](https://leetcode-cn.com/problems/longest-word-in-dictionary/) - [139. 单词拆分[M]](https://leetcode-cn.com/problems/word-break/) - [140. 单词拆分 II[M]](https://leetcode-cn.com/problems/word-break-ii/) - [648. 单词替换[M]](https://leetcode-cn.com/problems/replace-words/) - [792. 匹配子序列的单词数[M]](https://leetcode-cn.com/problems/number-of-matching-subsequences/) - [820. 单词的压缩编码[M]](https://leetcode-cn.com/problems/short-encoding-of-words/) - [386. 字典序排数[M]](https://leetcode-cn.com/problems/lexicographical-numbers/) - [677. 键值映射[M]](https://leetcode-cn.com/problems/map-sum-pairs/) - 仅使用暴力解法 ### 栈 - [20. 有效的括号[E]](https://leetcode-cn.com/problems/valid-parentheses/) ### 双指针 - [1023. 驼峰式匹配[M]](https://leetcode-cn.com/problems/camelcase-matching/) ### 堆 - [703. 数据流中的第 K 大元素[E]](https://leetcode-cn.com/problems/kth-largest-element-in-a-stream/) ### 回溯 - [52. N皇后 II[H]](https://leetcode-cn.com/problems/n-queens-ii/) - [51. N 皇后[H]](https://leetcode-cn.com/problems/n-queens/) ### 贪心 - [409. 最长回文串[E]](https://leetcode-cn.com/problems/longest-palindrome/) - [561. 数组拆分 I[E]](https://leetcode-cn.com/problems/array-partition-i/) - [605. 种花问题[E]](https://leetcode-cn.com/problems/can-place-flowers/) - [680. 验证回文字符串 Ⅱ[E]](https://leetcode-cn.com/problems/valid-palindrome-ii/) - [860. 柠檬水找零[E]](https://leetcode-cn.com/problems/lemonade-change/) - [942. 增减字符串匹配[E]](https://leetcode-cn.com/problems/di-string-match/) - [1005. K 次取反后最大化的数组和[E]](https://leetcode-cn.com/problems/maximize-sum-of-array-after-k-negations/) - [1013. 将数组分成和相等的三个部分[E]](https://leetcode-cn.com/problems/partition-array-into-three-parts-with-equal-sum/) - [1217. 玩筹码[E]](https://leetcode-cn.com/problems/minimum-cost-to-move-chips-to-the-same-position/) - [1221. 分割平衡字符串[E]](https://leetcode-cn.com/problems/split-a-string-in-balanced-strings/) - [1323. 6 和 9 组成的最大数字[E]](https://leetcode-cn.com/problems/maximum-69-number/) - [1403. 非递增顺序的最小子序列[E]](https://leetcode-cn.com/problems/minimum-subsequence-in-non-increasing-order/) - [1710. 卡车上的最大单元数[E]](https://leetcode-cn.com/problems/maximum-units-on-a-truck/) - [1827. 最少操作使数组递增[E]](https://leetcode-cn.com/problems/minimum-operations-to-make-the-array-increasing/) - [1903. 字符串中的最大奇数[E]](https://leetcode-cn.com/problems/largest-odd-number-in-string/) - [1974. 使用特殊打字机键入单词的最少时间[E]](https://leetcode-cn.com/problems/minimum-time-to-type-word-using-special-typewriter/) - [2027. 转换字符串的最少操作次数[E]](https://leetcode-cn.com/problems/minimum-moves-to-convert-string/) - [2078. 两栋颜色不同且距离最远的房子[E]](https://leetcode-cn.com/problems/two-furthest-houses-with-different-colors/) - [55. 跳跃游戏[M]](https://leetcode-cn.com/problems/jump-game/) - [45. 跳跃游戏 II[M]](https://leetcode-cn.com/problems/jump-game-ii/) ### 分治 - [372. 超级次方[M]](https://leetcode-cn.com/problems/super-pow/) ### 字符串 - [1446. 连续字符[E]](https://leetcode-cn.com/problems/consecutive-characters/) - [383. 赎金信[E]](https://leetcode-cn.com/problems/ransom-note/) ### 数组 - [1800. 最大升序子数组和[E]](https://leetcode-cn.com/problems/maximum-ascending-subarray-sum/) - [1267. 统计参与通信的服务器[M]](https://leetcode-cn.com/problems/count-servers-that-communicate/) ### 岛屿问题 - [200. 岛屿数量[M]](https://leetcode-cn.com/problems/number-of-islands/) - [463. 岛屿的周长[E]](https://leetcode-cn.com/problems/island-perimeter/) - [695. 岛屿的最大面积[M]](https://leetcode-cn.com/problems/max-area-of-island/) - [1254. 统计封闭岛屿的数目[M]](https://leetcode-cn.com/problems/number-of-closed-islands/) - [130. 被围绕的区域[M]](https://leetcode-cn.com/problems/surrounded-regions/) - [1905. 统计子岛屿[M]](https://leetcode-cn.com/problems/count-sub-islands/) - [827. 最大人工岛[H]](https://leetcode-cn.com/problems/making-a-large-island/) - [1034. 边界着色[M]](https://leetcode-cn.com/problems/coloring-a-border/) ### 并查集 - [990. 等式方程的可满足性[M]](https://leetcode-cn.com/problems/satisfiability-of-equality-equations/) - [128. 最长连续序列[M]](https://leetcode-cn.com/problems/longest-consecutive-sequence/) - [547. 省份数量[M]](https://leetcode-cn.com/problems/number-of-provinces/) - [684. 冗余连接[M]](https://leetcode-cn.com/problems/redundant-connection/) - [1319. 连通网络的操作次数[M]](https://leetcode-cn.com/problems/number-of-operations-to-make-network-connected/) - [1631. 最小体力消耗路径[M]](https://leetcode-cn.com/problems/path-with-minimum-effort/) - [959. 由斜杠划分区域[M]](https://leetcode-cn.com/problems/regions-cut-by-slashes/) - [1202. 交换字符串中的元素[M]](https://leetcode-cn.com/problems/smallest-string-with-swaps/) ### 动态规划 #### 单参数 - [70. 爬楼梯[E]](https://leetcode-cn.com/problems/climbing-stairs/) - [剑指 Offer 10- II. 青蛙跳台阶问题[E]](https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof/) - [面试题 08.01. 三步问题[E]](https://leetcode-cn.com/problems/three-steps-problem-lcci/) - [746. 使用最小花费爬楼梯[E]](https://leetcode-cn.com/problems/min-cost-climbing-stairs/) - [剑指 Offer II 088. 爬楼梯的最少成本[E]](https://leetcode-cn.com/problems/GzCJIP/) - [509. 斐波那契数[E]](https://leetcode-cn.com/problems/fibonacci-number/) - [剑指 Offer 10- I. 斐波那契数列[E]](https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof/) - [1137. 第 N 个泰波那契数[E]](https://leetcode-cn.com/problems/n-th-tribonacci-number/) - [119. 杨辉三角 II[E]](https://leetcode-cn.com/problems/pascals-triangle-ii/) - [118. 杨辉三角[E]](https://leetcode-cn.com/problems/pascals-triangle/) - [338. 比特位计数[E]](https://leetcode-cn.com/problems/counting-bits/) - [剑指 Offer II 003. 前 n 个数字二进制中 1 的个数[E]](https://leetcode-cn.com/problems/w3tCBm/) - [392. 判断子序列[E]](https://leetcode-cn.com/problems/is-subsequence/) - [1025. 除数博弈[E]](https://leetcode-cn.com/problems/divisor-game/) - [1646. 获取生成数组中的最大值[E]](https://leetcode-cn.com/problems/get-maximum-in-generated-array/) - [LCP 07. 传递信息[E]](https://leetcode-cn.com/problems/chuan-di-xin-xi/) - [LCS 01. 下载插件[E]](https://leetcode-cn.com/problems/Ju9Xwi/) - [面试题 05.03. 翻转数位[E]](https://leetcode-cn.com/problems/reverse-bits-lcci/) - [91. 解码方法[M]](https://leetcode-cn.com/problems/decode-ways/) #### 双参数 - [62. 不同路径[M]](https://leetcode-cn.com/problems/unique-paths/) - [63. 不同路径 II[M]](https://leetcode-cn.com/problems/unique-paths-ii/) - [64. 最小路径和[M]](https://leetcode-cn.com/problems/minimum-path-sum/) - [97. 交错字符串[M]](https://leetcode-cn.com/problems/interleaving-string/) - [120. 三角形最小路径和[M]](https://leetcode-cn.com/problems/triangle/) - [221. 最大正方形[M]](https://leetcode-cn.com/problems/maximal-square/) #### 买卖股票 - [121. 买卖股票的最佳时机[E]](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/) - [122. 买卖股票的最佳时机 II[M]](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/) #### 打家劫舍 - [198. 打家劫舍[M]](https://leetcode-cn.com/problems/house-robber/) - [面试题 17.16. 按摩师[E]](https://leetcode-cn.com/problems/the-masseuse-lcci/) - [213. 打家劫舍 II[M]](https://leetcode-cn.com/problems/house-robber-ii/) - [337. 打家劫舍 III[M]](https://leetcode-cn.com/problems/house-robber-iii/) #### 最大子数组 - [53. 最大子数组和[E]](https://leetcode-cn.com/problems/maximum-subarray/) - [剑指 Offer 42. 连续子数组的最大和[E]](https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/) - [面试题 16.17. 连续数列[E]](https://leetcode-cn.com/problems/contiguous-sequence-lcci/) - [152. 乘积最大子数组[M]](https://leetcode-cn.com/problems/maximum-product-subarray/)