Explore diversas soluciones LeetCode en Python, C++, JavaScript, SQL y TypeScript. Ideal para preparación de entrevistas, aprendizaje y práctica de código en múltiples lenguajes de programación. Enlace de repositorio de Github
dada una cuerda s
que contiene solo los caracteres '('
, ')'
, '{'
, '}'
, '['
y ']'
, determina si la cadena de entrada es válida.
Una cadena de entrada es válida si:
- Los corchetes abiertos deben cerrarse con el mismo tipo de corchetes.
- Los corchetes abiertos deben cerrarse en el orden correcto.
- Cada corchete cerrado tiene un corchete abierto correspondiente del mismo tipo.
Ejemplo 1:
Aporte: s = "()" Producción: verdadero
Ejemplo 2:
Aporte: s = "()[]{}" Producción: verdadero
Ejemplo 3:
Aporte: es = "(]" Producción: FALSO
Restricciones:
1 <= longitud s. <= 10 4
s
consta únicamente de paréntesis'()[]{}'
.
Pitón
Complejidad de tiempo #: O(n) Complejidad de espacio #: O(n) Solución de clase: def isValid(self, s: str) -> bool: bracketMap = {"(": ")", "[": "]", "{": "}"} openSet = set(["(", "[", "{"]) stack = [] for char in s: if char in openSet: stack.append(char) elif stack and char == bracketMap[stack[-1]]: stack.pop() else: return False return stack == [] Input = "(())" print(Solution().isValid(Input))