21. Paréntesis efectivos

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;
    }
};

Resultado de la operación

Inserte la descripción de la imagen aquí

Publicado 22 artículos originales · elogiado 0 · visitas 296

Supongo que te gusta

Origin blog.csdn.net/qq_45950904/article/details/105033541
Recomendado
Clasificación