首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

LeetCode - 删除字符串所有相邻重复项

该题是LeetCode第137次周赛编号为1047题目,三周一次周赛,其实我都已经忘了题目了...毫无印象三周我也参加了周赛。...在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终字符串。答案保证唯一。...之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后字符串为 "ca"。 提示: 1 <= S.length <= 20000 S 仅由小写英文字母组成。...首先将输入字符串包装为StringBuilder对象,然后一直从头遍历StringBuilder对象,找到重复字符串,就把这两个重复删除删除之后,再从头遍历该StringBuilder对象,直到遍历...后来意识到,可以使用方式解决该问题,只需要遍历一次就可以解决问题,内存占用也少很多。

3K20
您找到你想要的搜索结果了吗?
是的
没有找到

Excel公式:删除字符串所有数字

标签:Excel公式,SUBSTITUTE函数 有时候,可能是由于输入原因,也可能是由于从网上直接下载数据,数据中字符串中夹杂着一些数字,而我们又不想要这些数字,因此,需要从字符串删除这些数字。...例如,字符串“My2017Excel2022”删除其中数字后,成为“MyExcel”。 使用什么公式能够达到我们目的呢?...首先很自然想到是SUBSTITUE函数,可以用新字符来替换字符串原字符。...SUBSTITUTE函数依次替换字符串数字1、2、3、4、5、6、7、8、9、0。...由于有十个数字,因此使用了SUBSTITUTE函数10次。 幸好只有10个数字,只需替换操作10次,如果更多的话,公式岂不很长。不知道有没有更简单通用公式,期待朋友们一起探讨。

2.8K30

Bash中如何从字符串删除固定前缀后缀

更多好文请关注↑ 问: 我想从字符串删除前缀/后缀。例如,给定: string="hello-world" prefix="hell" suffix="ld" 如何获得以下结果?..."o-wor" 答: 使用bash语法方法: $ prefix="hell" $ suffix="ld" $ string="hello-world" $ foo=${string#"$prefix...如果模式与 parameter 扩展后末尾部分匹配,则扩展结果是从 parameter 扩展后值中删除最短匹配模式(一个 % 情况)或最长匹配模式(%% 情况)值。...使用sed命令方法: string="hello-world" prefix="hell" suffix="ld" $ echo "$string" | sed -e "s/^$prefix//" -...在Bash中如何将字符串转换为小写 在shell编程中$(cmd) 和 `cmd` 之间有什么区别 如何从Bash变量中删除空白字符 更多好文请关注↓

29810

删除字符串所有相邻重复项

删除字符串所有相邻重复项 官方题解链接: 删除字符串所有相邻重复项 题目 给出由小写字母组成字符串 S,重复项删除操作会选择两个相邻且相同字母,并删除它们。...在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终字符串。答案保证唯一。...示例: 输入:"abbaca" 输出:"ca" 解释: 例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作重复项。...之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后字符串为 "ca"。 提示: 1 <= S.length <= 20000 S 仅由小写英文字母组成。...删除字符串所有相邻重复项 删除字符串所有相邻重复项

1.9K20

删除字符串所有相邻重复项

删除字符串所有相邻重复项 力扣题目链接[1] 给出由小写字母组成字符串 S,重复项删除操作会选择两个相邻且相同字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。...在完成所有重复项删除操作后返回最终字符串。答案保证唯一。...思路: 本题可以使用思路来解决。依次将字符串字符放入栈中,同时判断栈顶元素是否与当前字符相等,如果相等,则弹出栈顶元素;如果不相等则将当前字符放入栈顶。...最终剩下元素所拼接成字符串就是没有相邻项结果。这里每次循环都弹出一个字符,用来判断与接下来需要比较字符是否相等,如果相等则全部丢弃,继续判断下一个字符,如果不相等则按照顺序全部放入栈中。...}; 双指针 其实本题还可以使用双指针思路进行求解。

1.7K20

删除字符串所有相邻重复项 II

删除字符串所有相邻重复项 II 给你一个字符串 s,「k 倍重复项删除操作」将会从 s 中选择 k 个相邻且相等字母,并删除它们,使被删去字符串左侧和右侧连在一起。...你需要对 s 重复进行无限次这样删除操作,直到无法继续为止。 在执行完所有删除操作后,返回最终得到字符串。 本题答案保证唯一。...不同是,这里是删除相邻重复k次项。...那么可以这么做: 遍历字符串每个字符元素, 如果栈为空,则直接放入栈中; 如果栈顶元素首项不等于当前元素,那么意味着不重复,则将元素放入栈中; 如果栈顶元素首项等于当前元素,但是栈顶元素字符串长度小于...k - 1,则依旧不构成重复条件;因为算上当前元素加上k - 1才能达到相邻k项要求,因此将当前元素拼接到栈顶字符串后面,等待后续元素,如果后续元素刚好等于这个元素,就达到了消除条件; 如果栈顶元素首项等于当前元素

1.4K30

删除字符串所有相邻重复项

删除字符串所有相邻重复项) https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string/ 题目描述 给出由小写字母组成字符串... S,重复项删除操作会选择两个相邻且相同字母,并删除它们。...在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终字符串。答案保证唯一。  ...示例: 输入:"abbaca" 输出:"ca" 解释: 例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作重复项。...之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后字符串为 "ca"。

1.4K20

删除字符串所有相邻重复项(栈)

题目 给出由小写字母组成字符串 S,重复项删除操作会选择两个相邻且相同字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终字符串。...示例: 输入:"abbaca" 输出:"ca" 解释: 例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同, 这是此时唯一可以执行删除操作重复项。...之后我们得到字符串 "aaca", 其中又只有 "aa" 可以执行重复项删除操作,所以最后字符串为 "ca"。...力扣(LeetCode) 链接:https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string 著作权归领扣网络所有...栈解题 要插入栈数据是否等于栈顶,等于的话删除栈顶,否则入栈 ?

1.4K20

删除字符串所有相邻重复项 II(栈)

题目 给你一个字符串 s,「k 倍重复项删除操作」将会从 s 中选择 k 个相邻且相等字母,并删除它们,使被删去字符串左侧和右侧连在一起。...你需要对 s 重复进行无限次这样删除操作,直到无法继续为止。 在执行完所有删除操作后,返回最终得到字符串。 本题答案保证唯一。...示例 1: 输入:s = "abcd", k = 2 输出:"abcd" 解释:没有要删除内容。...示例 2: 输入:s = "deeedbbcccbdaa", k = 3 输出:"aa" 解释: 先删除 "eee" 和 "ccc",得到 "ddbbbdaa" 再删除 "bbb",得到 "dddaa...LeetCode) 链接:https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string-ii 著作权归领扣网络所有

1.2K10

删除字符串所有相邻重复项

1 题目描述 给出由小写字母组成字符串 S,重复项删除操作会选择两个相邻且相同字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终字符串。...之后我们得到字符串 “aaca”,其中又只有 “aa” 可以执行重复项删除操作,所以最后字符串为 “ca”。...4 思路 充分理解题意后,我们可以发现,当字符串中同时有多组相邻重复项时,我们无论是先删除哪一个,都不会影响最终结果。因此我们可以从左向右顺次处理该字符串。...而消除—对相邻重复项可能会导致新相邻重复项出现,如从字符串abba 中删除bb会导致出现新相邻重复项aa出现。因此我们需要保存当前还未被删除字符。一种显而易见数据结构呼之欲出:栈。...空间复杂度:O(n)或 o(1),取决于使用语言提供字符串是否提供了类似「入栈」和「出栈」接口。注意返回值不计入空间复杂度。

95220

【Leetcode -844.比较含退格字符串 -1047.删除字符串所有相邻重复项】

Leetcode -844.比较含退格字符串 题目:给定 s 和 t 两个字符串,当它们分别被输入到空白文本编辑器后,如果两者相等,返回 true 。# 代表退格字符。...否则入栈;最后比较两个栈是否相同; bool backspaceCompare(char* s, char* t) { // 创建 s 字符串和 t 字符串栈,存放有效字符...strcmp(stackS, stackT); } Leetcode -1047.删除字符串所有相邻重复项 题目:给出由小写字母组成字符串 S,重复项删除操作会选择两个相邻且相同字母,并删除它们...在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终字符串。答案保证唯一。...之后我们得到字符串 “aaca”,其中又只有 “aa” 可以执行重复项删除操作,所以最后字符串为 “ca”。 提示: 1 <= S.length <= 20000 S 仅由小写英文字母组成。

9210

Excel公式练习87:返回字符串中第一块数字之后所有内容

本次练习是:如下图1所示,使用公式拆分列A中字符串,从中返回列B中字符串。...例如,如果字符串是Monaco7190Australia1484,那么返回第一块数字右侧所有字符串Australia1484。...图1 你公式应该处理任意长度字符串和任意长度数字——不仅仅是图1中所显示长度。此外,不应该使用任何辅助单元格、中间公式或命名区域,或者VBA。 如何使用公式获得结果?...A";"u";"s";"t";"r";"a";"l";"i";"a";"1";"4";"8";"4"} 2.使用CODE函数将单个字符转换Excel用来表示每个数字/字母特定数字: CODE({"M"...1在这个数组中位置 MATCH(1,{0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;1},0) 返回: 10 7.接着返回该位置右侧原始字符串所有字符 =

2.5K30

12.Python使用正则表达式匹配+字符串

正则表达式就像加减乘除四则运算符一样,可以跨语言使用。编程语言只要涉及字符处理,都会引入功能强大正则表达式。可以说正则表达式本身就是一套应用于字符串环境小型编程语言。...=\+)","credits",str) 'credits+copyright+1' 在Python中re模块提供了几个函数来使用正则表达式,上面用到sub方法便是用来替换匹配到字符串。...我们在str中搜索符合正则表达式字符或字符串,并将之替换成"credits"。 r"\w\d{1,2}(?=+)"是我们用来搜索"+"前面"H33"而编写正则表达式。...=+)表示我们所要匹配字符在"+"前面。 >>> str="H33+copyright+1" >>> re.sub(r"[A-Z]\d{1,2}(?...\w范围比较大,代表[a-zA-Z0-9],若想要精确匹配可以用更精准正则表达式。感觉又找到可以写内容了:-)

3.6K30
领券