难度:★★☆☆☆
类型:字符串
方法:替换
题目
力扣链接请移步本题传送门
更多力扣中等题的解决方案请移步力扣中等题目录
给你一个字符串 s ,请你判断它是否 有效 。
字符串 s 有效 需要满足:假设开始有一个空字符串 t = "" ,你可以执行 任意次 下述操作将 t 转换为 s :
将字符串 "abc" 插入到 t 中的任意位置。形式上,t 变为 tleft + "abc" + tright,其中 t == tleft + tright 。注意,tleft 和 tright 可能为 空 。
如果字符串 s 有效,则返回 true;否则,返回 false。
示例 1:
输入:s = "aabcbc"
输出:true
解释:
"" -> "abc" -> "aabcbc"
因此,"aabcbc" 有效。
示例 2:
输入:s = "abcabcababcc"
输出:true
解释:
"" -> "abc" -> "abcabc" -> "abcabcabc" -> "abcabcababcc"
因此,"abcabcababcc" 有效。
示例 3:
输入:s = "abccba"
输出:false
解释:执行操作无法得到 "abccba" 。
示例 4:
输入:s = "cababc"
输出:false
解释:执行操作无法得到 "cababc" 。
提示:
1 <= s.length <= 2 * 104
s 由字母 'a'、'b' 和 'c' 组成
解答
我们逆向思维,把插入变成删除,如果s可以通过一系列的删除“abc”的操作最终到达空字符串,则说明s是有效的。
class Solution:
def isValid(self, s):
while "abc" in s:
s = s.replace("abc", "")
return s == ""
如有疑问或建议,欢迎评论区留言~
有关更多力扣中等题的python解决方案,请移步力扣中等题解析
网友评论