括号序列
利用数据结构栈,进行匹配判断。
首先讲一个字符写入栈中,接下来遍历的时候依次判断如果s[i]=='}',而栈顶元素为'}'。则匹配,弹栈。依次操作下去,如果完全匹配那么最后栈应该是空的。
c++代码如下:

class Solution {
public:
    /**
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    bool isValid(string s) {
        stack<char>c;
        for(int i=0;i<s.length();i++)
        {
            if(c.empty())
            {
                c.push(s[i]);
                continue;
            }
            if(s[i]==')'&& c.top()=='(')
            {
                c.pop();
            }
            else if(s[i]==']'&& c.top()=='[')
            {
                c.pop();
            }
            else if(s[i]=='}' && c.top()=='{')
            {
                c.pop();
            }
            else
            {
                c.push(s[i]);
            }
        }
        return c.empty();
    }
};