有效的括号序列

来源:互联网 发布:淘宝怎么找到超a的店铺 编辑:程序博客网 时间:2024/06/06 09:42

给定一个字符串所表示的括号序列,包含以下字符: ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, 判定是否是有效的括号序列。

注意:1、奇数个的长度可以提前判断。
2、如果最后栈不空,直接可以判false。

#include <string>class Solution {public:    /**     * @param s A string     * @return whether the string is a valid parentheses     */     stack <char> ss;     char c;    bool isValidParentheses(string& s) {        // Write your code here        if(s.length() % 2 == 1){            return false;        }        for(int i = 0; i < s.length(); i++){            if(s[i] == '(' || s[i] == '[' || s[i] == '{'){                ss.push(s[i]);            }            if(s[i] == ')'){                c = ss.top();                if(c == '('){                    ss.pop();                } else {                    return false;                }            }            if(s[i] == ']'){                c = ss.top();                if(c == '['){                    ss.pop();                } else {                    return false;                }            }            if(s[i] == '}'){                c = ss.top();                if(c == '{'){                    ss.pop();                } else {                    return false;                }            }        }        if(!ss.empty()){            return false;        }        return true;    }};
原创粉丝点击