给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。 返回s所有可能的分割方案。来源:力扣(LeetCode) 链接:[题目链接]由于需要求出字符串s的所有分割方案,因此考虑使用深度优先搜索解决。如果我们需要求s[l..r]的分割方案,假设已经知道
给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文。 返回符合要求的最少分割次数。来源:力扣(LeetCode) 链接:题目链接一开始考虑到贪心,从左往右每次都取最长的回文串分割,但是有反例因此贪心失败。 由于问题具有最优子结构的性质,考虑动态规
给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。来源:力扣(LeetCode) 链接:题目链接遍历字符串
实现一个基本的计算器来计算一个简单的字符串表达式 s 的值。来源:力扣(LeetCode) 链接:[题目链接]由于表达式仅由+和-构成,因此如果将表达式中所有的括号展开,那么所有数字本身都不会发生变化,只有每个数字前的符号会发生变化。 因此,使用一个取值为
给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。来源:力扣(LeetCode) 链接:题目链接双栈法,采用一个数字栈,一个符号栈。对输入字符串进行遍历,如果遍历到数字,则直接压入数字栈中,否则根据符号栈的栈顶
序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录,例如 #。例如,上面的二叉树可以被序列化为字符串"9,3,4,#,#,1,#,#,2,#,6,#,#",其中#代表一