leetcode
文章平均质量分 54
KroneX
ACM退役选手,热爱优雅、高效、有创造力的技术,本博客记录题解,编程tips,计算机相关知识,心得等。
展开
-
【二叉树】前、中、后 序遍历(递归+迭代)
CONTENTleetcode 练习题目二叉树定义1. 先序遍历递归迭代直接做法标记法2. 中序遍历递归迭代直接做法标记法3. 后序遍历递归迭代直接做法标记法反转类前序遍历结果Referenceleetcode 练习题目144. 二叉树的前序遍历94. 二叉树的中序遍历145. 二叉树的后序遍历二叉树定义class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() {} TreeNo原创 2022-05-22 23:43:12 · 1167 阅读 · 0 评论 -
【leetcode】1332. 删除回文子序列(remove-palindromic-subsequences)(思维)[简单]
链接https://leetcode-cn.com/problems/remove-palindromic-subsequences/耗时解题:5 min题解:7 min题意给你一个字符串 s,它仅由字母 'a' 和 'b' 组成。每一次删除操作都可以从 s 中删除一个回文 子序列。返回删除给定字符串中所有字符(字符串为空)的最小删除次数。「子序列」定义:如果一个字符串可以通过删除原字符串某些字符而不改变原字符顺序得到,那么这个字符串就是原字符串的一个子序列。原创 2022-01-22 20:27:12 · 296 阅读 · 0 评论 -
【leetcode】162. 寻找峰值(find-peak-element)(二分)[中等]
链接https://leetcode-cn.com/problems/find-peak-element/耗时解题:19 min题解:7 min题意峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。你必须实现时间复杂度为 O(log n) 的算法来解决此问题。提示: 1 <= nu原创 2021-09-15 09:44:02 · 185 阅读 · 0 评论 -
【leetcode】524. 通过删除字母匹配到字典里最长单词(longest-word-in-dictionary-through-deleting)(模拟)[中等]
链接https://leetcode-cn.com/problems/longest-word-in-dictionary-through-deleting/耗时解题:12 min题解:17 min题意给你一个字符串 s 和一个字符串数组 dictionary 作为字典,找出并返回字典中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。如果答案不止一个,返回长度最长且字典序最小的字符串。如果答案不存在,则返回空字符串。提示: 1 <= s.length <= 1000原创 2021-09-14 08:57:06 · 137 阅读 · 0 评论 -
【leetcode】551. 学生出勤记录 I(student-attendance-record-i)(模拟)[简单]
链接https://leetcode-cn.com/problems/student-attendance-record-i/耗时解题:8 min题解:5 min题意给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符: 'A':Absent,缺勤 'L':Late,迟到 'P':Present,到场如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励: 按 总出勤 计,学生缺勤('A')严格 少于两天。原创 2021-08-17 19:36:40 · 429 阅读 · 0 评论 -
【leetcode】802. 找到最终的安全状态(find-eventual-safe-states)(拓扑排序)[中等]
链接https://leetcode-cn.com/problems/find-eventual-safe-states/耗时解题:23 min题解:23 min题意在有向图中,以某个节点为起始节点,从该点出发,每一步沿着图中的一条有向边行走。如果到达的节点是终点(即它没有连出的有向边),则停止。对于一个起始节点,如果从该节点出发,无论每一步选择沿哪条有向边行走,最后必然在有限步内到达终点,则将该起始节点称作是 安全 的。返回一个由图中所有安全的起始节点组成的数组作为答案。答案数组中的元素应原创 2021-08-05 20:16:22 · 219 阅读 · 0 评论 -
【leetcode】275. H 指数 II(h-index-ii)(二分)[中等]
链接https://leetcode-cn.com/problems/h-index-ii/耗时解题:5 h 5 min题解:9 min题意给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照 升序排列 。编写一个方法,计算出研究者的 h 指数。h 指数的定义: “h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。(其余的 N - h&nb原创 2021-07-12 15:31:53 · 220 阅读 · 0 评论 -
【leetcode】274. H 指数(h-index)(二分)[中等]
链接https://leetcode-cn.com/problems/h-index/耗时解题:24 min题解:8 min题意给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的 h 指数。h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。且其余的 N - h 篇论文每篇被引用次数 不超过 h 次。例如:某人的 h 指数是 20,这表原创 2021-07-11 15:49:52 · 238 阅读 · 0 评论 -
【leetcode】236. 二叉树的最近公共祖先(lowest-common-ancestor-of-a-binary-tree)(dfs)[中等]
链接https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/耗时解题:28 min题解:6 min题意给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”提示: 树中节点数目在范围 [2, 105] 内。 -原创 2021-07-08 09:55:23 · 137 阅读 · 0 评论 -
【leetcode】1711. 大餐计数(count-good-meals)(二分)[中等]
链接https://leetcode-cn.com/problems/count-good-meals/耗时解题:5 h 16 min题解:38 min题意大餐 是指 恰好包含两道不同餐品 的一餐,其美味程度之和等于 2 的幂。你可以搭配 任意 两道餐品做一顿大餐。给你一个整数数组 deliciousness ,其中 deliciousness[i] 是第 i 道餐品的美味程度,返回你可以用数组中的餐品做出的不同 大餐 的数量。结果需要对 109 + 7 取余。原创 2021-07-07 17:21:53 · 197 阅读 · 0 评论 -
【leetcode】1418. 点菜展示表(display-table-of-food-orders-in-a-restaurant)(模拟)[中等]
链接https://leetcode-cn.com/problems/display-table-of-food-orders-in-a-restaurant/耗时解题:1 h 24 min题解:-32 min题意给你一个数组 orders,表示客户在餐厅中完成的订单,确切地说, orders[i]=[customerNamei,tableNumberi,foodItemi] ,其中 customerNamei 是客户的姓名,tableNumberi 是客户所在餐桌的桌号,而 foodItemi原创 2021-07-06 16:40:06 · 154 阅读 · 0 评论 -
【leetcode】剑指 Offer 16. 数值的整数次方(shu-zhi-de-zheng-shu-ci-fang-lcof)(快速幂)[中等]
链接https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/耗时解题:6 min题解:6 min题意实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。注意:本题与主站 50 题相同:https://leetcode-cn.com/problems/powx-n/提示:-100.0 < x < 100.0−231<=n<=231原创 2021-06-16 21:29:36 · 156 阅读 · 0 评论 -
【leetcode】1310. 子数组异或查询(xor-queries-of-a-subarray)(位运算)[中等]
链接https://leetcode-cn.com/problems/xor-queries-of-a-subarray/耗时解题:5 min题解:4 min题意有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[原创 2021-05-12 10:19:40 · 164 阅读 · 0 评论 -
【leetcode】1734. 解码异或后的排列(decode-xored-permutation)(位运算)[中等]
链接https://leetcode-cn.com/problems/decode-xored-permutation/耗时解题:1 h 15 min题解:41 min题意给你一个整数数组 perm ,它是前 n 个正整数的排列,且 n 是个 奇数 。它被加密成另一个长度为 n - 1 的整数数组 encoded ,满足 encoded[i] = perm[i] XOR perm[i + 1] 。比方说,如果 perm = [1,3,2] ,那么 encoded = [2,1] 。给你 en原创 2021-05-11 16:25:55 · 156 阅读 · 1 评论 -
【leetcode】872. 叶子相似的树(leaf-similar-trees)(dfs)[简单]
链接https://leetcode-cn.com/problems/leaf-similar-trees/耗时解题:57 min题解:3 min题意请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。举个例子,如上图所示,给定一棵叶值序列为 (6, 7, 4, 9, 8) 的树。如果有两棵二叉树的叶值序列是相同,那么我们就认为它们是 叶相似 的。如果给定的两个根结点分别为 root1 和 root2 的树是叶相似的,则返回 true;否则返回 false原创 2021-05-10 15:59:07 · 171 阅读 · 0 评论 -
【leetcode】1482. 制作 m 束花所需的最少天数(minimum-number-of-days-to-make-m-bouquets)(二分)[中等]
链接https://leetcode-cn.com/problems/minimum-number-of-days-to-make-m-bouquets/耗时解题:7 h 36 min题解:16 min题意给你一个整数数组 bloomDay,以及两个整数 m 和 k 。现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。请你返回从花园中摘 m 束花需要等待的最少的天数。如果不原创 2021-05-09 18:37:07 · 170 阅读 · 0 评论 -
【leetcode】1720. 解码异或后的数组(decode-xored-array)(位运算)[简单]
链接https://leetcode-cn.com/problems/decode-xored-array/耗时解题:8 min题解:11 min题意未知 整数数组 arr 由 n 个非负整数组成。经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] = arr[i] XOR arr[i + 1] 。例如,arr = [1,0,2,1] 经编码后得到 encoded = [1,2,3] 。给你编码后的数组 encoded 和原数组 arr 的第一个元原创 2021-05-06 14:28:15 · 213 阅读 · 0 评论 -
【leetcode】7. 整数反转(reverse-integer)(模拟)[简单]
链接https://leetcode-cn.com/problems/reverse-integer/耗时解题:16 min题解:9 min题意给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。提示: -231 <= x <= 231 - 1思路我将正负数都转成正数处理,正数 x 每次除 10 取原创 2021-05-03 17:20:33 · 151 阅读 · 0 评论 -
【leetcode】题解博客框架模板
CONTENT背景脚本思路快速使用python 代码参考背景经常写 leetcode 的题解博客,博客中的很多模块逐渐固定下来,形式逐渐趋同。除了思路部分,剩下的部分都是复制粘贴的重复性工作,一直想着写一个脚本出来(一直懒得做 ????),今天终于终于把它做出来了。脚本思路主要参考的 leetcode每日一题信息抓取 早安语录 定时任务 中的 抓取leetcode每日一题数据 部分的代码。根据这部分提供的题目数据,然后按照我的题解博客的形式,生成了一个模板字符串放到剪切板中。快速使用不加参数默原创 2021-04-29 15:40:53 · 353 阅读 · 0 评论 -
【leetcode】633. 平方数之和(sum-of-square-numbers)(二分)[中等]
链接https://leetcode-cn.com/problems/sum-of-square-numbers/耗时解题:25 min题解:7 min题意给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2+b2=ca^2 + b^2 = ca2+b2=c 。提示:0 <= c <= 2^31 - 1思路算出所有小于等于 231−12^{31} - 1231−1 的平方数,存下来。遍历这个数组,并在这个数组中二分查找 c 减当前元素的元素,如果能二分原创 2021-04-28 20:09:17 · 171 阅读 · 0 评论 -
【leetcode】938. 二叉搜索树的范围和(range-sum-of-bst)(dfs)[简单]
链接https://leetcode-cn.com/problems/range-sum-of-bst/耗时解题:21 min题解:8 min题意给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。提示:树中节点数目在范围 [1, 2 * 10^4] 内1 <= Node.val <= 10^51 <= low <= high <= 10^5所有 Node.val 互不相同思路因为是 BST,所以 df原创 2021-04-27 15:02:14 · 143 阅读 · 0 评论 -
【leetcode】1011. 在 D 天内送达包裹的能力(capacity-to-ship-packages-within-d-days)(二分)[中等]
链接https://leetcode-cn.com/problems/capacity-to-ship-packages-within-d-days/耗时解题:62 min题解:30 min题意传送带上的包裹必须在 D 天内从一个港口运送到另一个港口。传送带上的第 i 个包裹的重量为 weights[i]。每一天,我们都会按给出重量的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。返回能在 D 天内将传送带上的所有包裹送达的船的最低运载能力。提示:1 <= D &原创 2021-04-26 22:10:25 · 172 阅读 · 0 评论 -
【leetcode】897. 递增顺序搜索树(increasing-order-search-tree)(dfs)[简单]
链接https://leetcode-cn.com/problems/increasing-order-search-tree/耗时解题:31 min题解:17 min题意给你一棵二叉搜索树,请你 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。提示:树中节点数的取值范围是 [1, 100]0 <= Node.val <= 1000思路维护一个 上一节点 的指针,这一指针指向当前节点在 答案树原创 2021-04-25 09:39:04 · 166 阅读 · 0 评论 -
【leetcode】377. 组合总和 Ⅳ(combination-sum-iv)(DP)[中等]
链接https://leetcode-cn.com/problems/combination-sum-iv/耗时解题:37 min题解:41 min题意给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。题目数据保证答案符合 32 位整数范围。提示:1 <= nums.length <= 2001 <= nums[i] <= 1000nums 中的所有元素 互不相同原创 2021-04-24 11:35:32 · 227 阅读 · 0 评论 -
【leetcode】368. 最大整除子集(largest-divisible-subset)(DP)[中等]
链接https://leetcode-cn.com/problems/largest-divisible-subset/耗时解题:46 min题解:19 min题意给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足:answer[i] % answer[j] == 0 ,或answer[j] % answer[i] == 0如果存在多个有效解子集,返回其中任何一个原创 2021-04-23 19:46:30 · 142 阅读 · 0 评论 -
【leetcode】73. 矩阵置零(set-matrix-zeroes)(模拟)[中等]
链接https://leetcode-cn.com/problems/design-parking-system/耗时解题:33 min题解:18 min题意给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。进阶:一个直观的解决方案是使用 O(mn) 的额外空间,但这并不是一个好的解决方案。一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。你能想出一个仅使用常量空间的解决方案吗?提示:原创 2021-03-21 11:19:15 · 204 阅读 · 0 评论 -
【leetcode】150. 逆波兰表达式求值(evaluate-reverse-polish-notation)(栈)[中等]
链接https://leetcode-cn.com/problems/design-parking-system/耗时解题:10 min题解:5 min题意根据 逆波兰表示法,求表达式的值。有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。提示:1 <= tokens.length <= 10410^4104to原创 2021-03-20 14:02:09 · 153 阅读 · 0 评论 -
【leetcode】1603. 设计停车系统(design-parking-system)(模拟)[简单]
链接https://leetcode-cn.com/problems/design-parking-system/耗时解题:6 min题解:2 min题意请你给一个停车场设计一个停车系统。停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位。请你实现 ParkingSystem 类:ParkingSystem(int big, int medium, int small) 初始化 ParkingSystem 类,三个参数分别对应每种停车位的数目。bool addCar原创 2021-03-19 16:21:23 · 349 阅读 · 0 评论 -
【leetcode】92. 反转链表 II(reverse-linked-list-ii)(模拟)[中等]
链接https://leetcode-cn.com/problems/reverse-linked-list-ii/耗时解题:1 h 12 min题解:8 min题意反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。思路设置一个翻转起始节点之前的节点 left_before,一个翻转结束节点之后的节点 right_next,不断的将当前 left 节点的下一个节点放到 left_before 之后,直到遇到 right_next。时间复原创 2021-03-18 11:22:04 · 158 阅读 · 0 评论 -
【leetcode】115. 不同的子序列(distinct-subsequences)(DP)[困难]
链接https://leetcode-cn.com/problems/distinct-subsequences/耗时解题:36 min题解:53 min题意给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)题目数据保证答案符合 32 位带符号整数范围。提示:0 <= s.l原创 2021-03-17 16:28:33 · 195 阅读 · 0 评论 -
【leetcode】59. 螺旋矩阵 II(spiral-matrix-ii)(模拟)[中等]
链接https://leetcode-cn.com/problems/spiral-matrix-ii/耗时解题:7 min题解:11 min题意给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。提示:1 <= n <= 20思路和 【leetcode】54. 螺旋矩阵(spiral-matrix)(模拟)[中等] 的思路完全相同,两题的区别基本只有把 54 的输入变成的输出,然后矩阵还简化成原创 2021-03-16 09:03:31 · 190 阅读 · 0 评论 -
【leetcode】54. 螺旋矩阵(spiral-matrix)(模拟)[中等]
链接https://leetcode-cn.com/problems/spiral-matrix/耗时解题:47 min题解:12 min题意给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。提示:m == matrix.lengthn == matrix[i].length1 <= m, n <= 10-100 <= matrix[i][j] <= 100思路从外向内一圈一圈往里走,把每一圈看成一个循环结,原创 2021-03-15 11:19:05 · 168 阅读 · 0 评论 -
【leetcode】706. 设计哈希映射(design-hashmap)(模拟)[简单]
链接https://leetcode-cn.com/problems/design-hashmap/耗时解题:13 min题解:8 min题意不使用任何内建的哈希表库设计一个哈希映射(HashMap)。实现 MyHashMap 类:MyHashMap() 用空映射初始化对象void put(int key, int value) 向 HashMap 插入一个键值对 (key, value) 。如果 key 已经存在于映射中,则更新其对应的值 value 。int get(int key原创 2021-03-14 13:25:39 · 214 阅读 · 0 评论 -
【leetcode】705. 设计哈希集合(design-hashset)(模拟)[简单]
链接https://leetcode-cn.com/problems/design-hashset/耗时解题:11 min题解:10 min题意不使用任何内建的哈希表库设计一个哈希集合(HashSet)。实现 MyHashSet 类:void add(key) 向哈希集合中插入值 key 。bool contains(key) 返回哈希集合中是否存在这个值 key 。void remove(key) 将给定值 key 从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。提示:原创 2021-03-13 17:31:41 · 210 阅读 · 0 评论 -
【leetcode】331. 验证二叉树的前序序列化(verify-preorder-serialization-of-a-binary-tree)(栈)[中等]
链接https://leetcode-cn.com/problems/verify-preorder-serialization-of-a-binary-tree/耗时解题:21 min题解:27 min题意序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录,例如 #。 _9_ / \ 3 2 / \ / \ 4 1 # 6/ \ / \ / \#原创 2021-03-12 15:57:34 · 168 阅读 · 0 评论 -
【leetcode】227. 基本计算器 II(basic-calculator-ii)(栈)[中等]
链接https://leetcode-cn.com/problems/basic-calculator-ii/耗时解题:40 min题解:25 min题意给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。整数除法仅保留整数部分。提示:1 <= s.length <= 3 * 105s 由整数和算符 (’+’, ‘-’, ‘*’, ‘/’) 组成,中间由一些空格隔开s 表示一个 有效表达式表达式中的所有整数都是非负整数,且在范围 [0, 231 - 1原创 2021-03-11 09:56:56 · 211 阅读 · 0 评论 -
【leetcode】224. 基本计算器(basic-calculator)(栈)[困难]
链接https://leetcode-cn.com/problems/basic-calculator/耗时解题:19 min题解:12 min题意实现一个基本的计算器来计算一个简单的字符串表达式 s 的值。思路只有 加减法 和 括号,将括号完全打开,计算结果不会变,所以只需要处理好每个数前实际的符号,并按实际的符号将这些数加进结果即可。因为包含 括号,用栈记录括号前的符号,遇到 ‘+’ 那么当前符号就是栈顶符号,遇到 ‘-’ 那么当前符号是栈顶符号的相反符号,遇到 ‘(’ 将括号前的实际原创 2021-03-10 19:49:37 · 175 阅读 · 0 评论 -
【leetcode】1047. 删除字符串中的所有相邻重复项(remove-all-adjacent-duplicates-in-string)(模拟)[简单]
链接https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string/耗时解题:38 min题解:10 min题意给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。思路类似于消消乐,两个相同的字符碰到一起就消去它们,并且一次消去之后可能会引起连锁的接连消去。记录原创 2021-03-09 09:45:24 · 202 阅读 · 0 评论 -
【leetcode】132. 分割回文串 II(palindrome-partitioning-ii)(DP)[困难]
链接https://leetcode-cn.com/problems/palindrome-partitioning-ii/耗时解题:32 min题解:25 min题意给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。返回符合要求的 最少分割次数 。思路dp[i] 表示 s[0:i] 的字符串的最少分割次数。dp[i]={0 (s[0:i]是回文串)mi原创 2021-03-08 11:43:39 · 179 阅读 · 0 评论 -
【leetcode】131. 分割回文串(palindrome-partitioning)(回溯)[中等]
链接https://leetcode-cn.com/problems/palindrome-partitioning/耗时解题:24 min题解:35 min题意给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。思路以位置 0 为子串首字符,每找到一个回文串,把这个回文串加入划分数组,再以这个子串的下一个位置到原字符串的结尾作为新的字符串(重复子问题)进行上述过程,当子串的下一个位置是原字符串的结尾,将划分数组加入结果。回溯回来的时候,从划分数原创 2021-03-07 10:35:56 · 209 阅读 · 0 评论