---
# System prepended metadata

title: Cadena entrelazada

---

# Cadena entrelazada

Dadas las cadenas `s1`,` s2` y `s3`, averigua si` s3` está formado por un intervalo de `s1` y` s2`.

Un intervalo de dos cadenas `s` y` t` es una configuración en la que se dividen en subcadenas no vacías de manera que:

* `s = s1 + s2 + ... + sn`
* `t = t1 + t2 + ... + tm`
* `| n - m | <= 1`

El intervalo es `s1` +` t1` + `s2` +` t2` + `s3` +` t3` + ... o `t1` +` s1` + `t2` +` s2` + `t3` + `s3` + ...

Nota: `a + b` es la concatenación de las cadenas `a` y `b`.

## Ejemplo 1:

![](https://i.imgur.com/odxwB5r.png)


`Entrada: s1 =" aabcc ", s2 =" dbbca ", s3 =" aadbbcbcac "`

`Salida: True`

## Ejemplo 2:

`Entrada: s1 =" aabcc ", s2 =" dbbca ", s3 =" aadbbbaccc "`

`Salida = false`

## Ejemplo 3:

`Entrada: s1 =" ", s2 =" ", s3 =" "`

`Salida: True`

Restringe:

* `0 <= s1.length, s2.length <= 100`
* `0 <= s. Longitud <= 200`
* `s1, s2 y s3` constan de letras minúsculas

Seguimiento: ¿Podrías resolverlo usando solo `O(s2.length)` espacio de memoria adicional?