1003.检查替换后的词是否有效
【LetMeFly】1003.检查替换后的词是否有效
力扣题目链接:https://leetcode.cn/problems/check-if-word-is-valid-after-substitutions/
给你一个字符串 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" 。
提示:
1 <= s.length <= 2 * 104s由字母'a'、'b'和'c'组成
方法一:栈
开辟一个字符栈,遍历字符串:
如果当前字符是
a就入栈如果当前字符是
b就看栈顶是否是a,是a就将a换成b,不是a就返回false如果当前字符是
c就看栈顶是否是b,是b就让b出栈,不是b就返回false时间复杂度$O(len(s))$
空间复杂度$O(len(s))$
AC代码
C++
1 | |
Python
1 | |
同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/130470201
1003.检查替换后的词是否有效
https://blog.letmefly.xyz/2023/05/03/LeetCode 1003.检查替换后的词是否有效/