题解 | #括号序列#

括号序列

http://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2

括号序列
利用数据结构栈,进行匹配判断。
首先讲一个字符写入栈中,接下来遍历的时候依次判断如果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();
    }
};
全部评论

相关推荐

Noob1024:一笔传三代,人走笔还在
点赞 评论 收藏
分享
10-30 10:16
南京大学 Java
永远的鹅孝子:给南大✌️跪了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务