java.lang.Object
g1001_1100.s1003_check_if_word_is_valid_after_substitutions.Solution

public class Solution extends java.lang.Object
1003 - Check If Word Is Valid After Substitutions.

Medium

Given a string s, determine if it is valid.

A string s is valid if, starting with an empty string t = "", you can transform t into s after performing the following operation any number of times:

  • Insert string "abc" into any position in t. More formally, t becomes tleft + “abc” + tright, where t == tleft + tright. Note that tleft and tright may be empty.

Return true if s is a valid string, otherwise, return false.

Example 1:

Input: s = “aabcbc”

Output: true

Explanation: "" -> “abc” -> “aabcbc” Thus, “aabcbc” is valid.

Example 2:

Input: s = “abcabcababcc”

Output: true

Explanation: "" -> “abc” -> “abcabc” -> “abcabcabc” -> “abcabcababcc” Thus, “abcabcababcc” is valid.

Example 3:

Input: s = “abccba”

Output: false

Explanation: It is impossible to get “abccba” using the operation.

Constraints:

  • 1 <= s.length <= 2 * 104
  • s consists of letters 'a', 'b', and 'c'
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    isValid(java.lang.String s)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • isValid

      public boolean isValid(java.lang.String s)