Leetcode Título de la grabación cepillo --- 20. Los paréntesis válidas

Plato de pollo decidí criar a mis propios códigos de capacidad, con el fin de no soplar su propia confianza en sí mismo, esta vez para empezar con una simple puesta en marcha

Dada una cadena que contiene sólo los caracteres '(', ')', '{', '}', '[' y ']', determinar si la cadena de entrada es válida.

Una cadena de entrada es válida si:

Soportes abiertos deben cerrarse por el mismo tipo de soportes.
Soportes abiertos deben cerrarse en el orden correcto.
Tenga en cuenta que una cadena vacía también se considera válida.

class Solution {
public:
     bool isValid(string s) {
        stack<char> stack;
        char c;
        int i = 0;
       
        while(s[i] != '\0'){
            c= s[i];
            //cout << "c=" << c << endl;
            if(c == '(' || c == '{' || c == '['){
                stack.push(c);
            }else if(!stack.empty() && (( c == ')' && stack.top() == '(') || (c == '}' && stack.top() == '{') || (c == ']' && stack.top() == '[') )){
                stack.pop();
            
            }else {
                stack.push(c);
            }
          i++;
        }

        if(stack.empty()){
            return true;
        }else{
            return false;
        }
    }
};


Afortunadamente, está bien, mi corazón todavía permitirse ja

Supongo que te gusta

Origin www.cnblogs.com/yuyuan-bb/p/12604358.html
Recomendado
Clasificación