题解 | #有效括号序列#
有效括号序列
http://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2
class Solution {
public:
/**
*
* @param s string字符串
* @return bool布尔型
*/
bool isValid(string s) {
// write code here
vector<char> vec;
vec.clear();//clean up dirty data
int len = s.length();
char c;
for(int i = 0; i < len; i++){
if(s[i] == '(' || s[i] == '{' || s[i] == '['){
vec.push_back(s[i]);
}else if(vec.size() != 0){//防止第一个就是)、}、]
switch (s[i])
{
case ')' :{
c = vec.back();
vec.pop_back();
if(c != '('){
return false;
}
break;
}
case '}' :{
c = vec.back();
vec.pop_back();
if(c != '{'){
return false;
}
break;
}
case ']' :{
c = vec.back();
vec.pop_back();
if(c != '['){
return false;
}
break;
}
default:
break;
}
}else{
return false;
}
}
if(vec.size() == 0){//括号全匹配了
return true;
}else{
return false;
}
}
};
查看12道真题和解析