# halfrost/LeetCode-Go

Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
1003. Check If Word Is Valid After Substitutions.go
1003. Check If Word Is Valid After Substitutions_test.go

# 1003. Check If Word Is Valid After Substitutions

## 题目

We are given that the string "abc" is valid.

From any valid string V, we may split V into two pieces X and Y such that X + Y (X concatenated with Y) is equal to V. (X or Y may be empty.) Then, X + "abc" + Y is also valid.

If for example S = "abc", then examples of valid strings are: "abc", "aabcbc", "abcabc", "abcabcababcc". Examples of invalid strings are: "abccba", "ab", "cababc", "bac".

Return true if and only if the given string S is valid.

Example 1:

```Input: "aabcbc"
Output: true
Explanation:
Then we can insert another "abc" between "a" and "bc", resulting in "a" + "abc" + "bc" which is "aabcbc".```

Example 2:

```Input: "abcabcababcc"
Output: true
Explanation:
"abcabcabc" is valid after consecutive insertings of "abc".
Then we can insert "abc" before the last letter, resulting in "abcabcab" + "abc" + "c" which is "abcabcababcc".```

Example 3:

```Input: "abccba"
Output: false```

Example 4:

```Input: "cababc"
Output: false```

Note:

1. 1 <= S.length <= 20000
2. S[i] is 'a', 'b', or 'c'

## 题目大意

"abccba"( "" + "abc" + "cba"，"cba" 不是有效的字符串), "ab"("ab" 也不是有效字符串), "cababc"("c" + "abc" + "bc"，"c"，"bc" 都不是有效字符串), "bac" ("bac" 也不是有效字符串)这些都不是有效的字符串。

## 解题思路

You can’t perform that action at this time.