1003. Check If Word Is Valid After Substitutions
Given a string s
, determine if it is valid.
A string s
is valid if, starting with an empty string t = ""
, you can transformt
intos
after performing the following operation any number of times :
- Insert string
"abc"
into any position int
. More formally,t
becomestleft + "abc" + tright
, wheret == tleft + tright
. Note thattleft
andtright
may be empty.
Return true
ifs
is a valid string, otherwise, return false
.
Example 1:
Input: s = "aabcbc"
Output: true
Explanation:
"" -> " _abc_ " -> "a _abc_ bc"
Thus, "aabcbc" is valid.
Example 2:
Input: s = "abcabcababcc"
Output: true
Explanation:
"" -> " _abc_ " -> "abc _abc_ " -> "abcabc _abc_ " -> "abcabcab _abc_ c"
Thus, "abcabcababcc" is valid.
Example 3:
Input: s = "abccba"
Output: false
Explanation: It is impossible to get "abccba" using the operation.
Example 4:
Input: s = "cababc"
Output: false
Explanation: It is impossible to get "cababc" using the operation.
Constraints:
1 <= s.length <= 2 * 104
s
consists of letters'a'
,'b'
, and'c'
# @lc code=start
using LeetCode
function is_valid_abc_str(s::String)
while occursin("abc", s)
s = replace(s, "abc" => "")
end
return s == ""
end
# @lc code=end
is_valid_abc_str (generic function with 1 method)
This page was generated using DemoCards.jl and Literate.jl.