Paréntesis válido
Titulo
Dada una cadena que contiene solo '(', ')', '{', '}', '[', ']', determine si la cadena es válida. Debe
satisfacerse una cadena válida: el
corchete izquierdo debe cerrarse con el mismo tipo de corchete derecho.
El soporte izquierdo debe cerrarse en el orden correcto.
Tenga en cuenta que una cadena vacía puede considerarse una cadena válida.
Ejemplo 1:
Entrada: "()"
Salida: verdadero
Ejemplo 2
Entrada: "() [] {}"
Salida: verdadero
Ejemplo 3
Entrada: "(]"
Salida: falso
Ejemplo 4
Entrada: "([]]"
Salida: falso
Ejemplo 5:
Entrada: "{[]}"
Salida: verdadero
Ejecuta el código
class Solution {
public:
bool isValid(string s) {
stack<char> st;
st.push('#');
char c[150];
c['('] = ')';
c['{'] = '}';
c['['] = ']';
if(s.empty())
return true;
for(auto ch : s) {
if (ch == '(' || ch == '{' || ch == '[')
st.push(ch);
else if (c[st.top()] == ch)
st.pop();
else
return false;
}
if(st.top() == '#')
return true;
return false;
}
};