leetcode 20 括号匹配

class Solution {
public:
    bool isValid(string s) {
        stack<char> result;
        for(char c:s){
            if(c == '(' || c == '[' || c == '{')
                result.push(c);
            else{
                if(result.empty())
                    return false;
                if(c == ')' && result.top() != '(')
                    return false;
                if(c == ']' && result.top() != '[')
                    return false;
                if(c == '}' && result.top() != '{')
                    return false;
                result.pop();
            }
        }
        return result.empty();
    }
};
class Solution {
public:
    bool isValid(string s) {
        int length = s.size();
        if(length < 0)
            return false;
        stack<char> result;
        for(int i = 0;i < length;i++){
            if(s[i] == '(' || s[i] == '[' || s[i] == '{')
                result.push(s[i]);
            else{
                if(result.empty())
                    return false;
                if(s[i] == ')' && result.top() != '(')
                    return false;
                if(s[i] == ']' && result.top() != '[')
                    return false;
                if(s[i] == '}' && result.top() != '{')
                    return false;
                result.pop();
            }
        }
        return result.empty();
    }
};
原文地址:https://www.cnblogs.com/ymjyqsx/p/9563094.html