input: from typing import List
  
  def create_valid_binary_strings(n: int) -> List[str]:
      """
      Given a positive integer n.
  
      A binary string x is considered valid if every substring of x of length 2 contains at least one "1".
  
      Return all such binary strings of length n, in any order.
  
      Examples:
      >>> n = 3
      ['010','011','101','110','111']
      >>> n = 1
      ['0','1']
  
      Constraints:
      1 <= n <= 18
      """
output:     if n == 1:
          return ['0', '1']
      
      result = []
      
      def generate(s: str):
          if len(s) == n:
              result.append(s)
              return
          
          if len(s) == 0 or s[-1] == '1':
              generate(s + '0')
          
          generate(s + '1')
      
      generate('')
      
      return result