题解 | 有效括号序列
有效括号序列
https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2
每当我遇到这种字符串匹配问题时,都会使用到哈希表(unordered_map),将每一组括号存入到哈希表中。
当栈为空时会存入括号,之后每遇到一个字符就会将他于栈顶的元素对应的括号比较,如果匹配则输出栈顶元素,如果不匹配就存入栈。当遍历完字符串后就检查栈stk,如果为空则表示所有括号匹配成功,否则表示匹配失败.
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return bool布尔型
*/
bool isValid(string s) {
stack<char> stk;
unordered_map<char,char> map;
map.emplace('[',']');
map.emplace('(',')');
map.emplace('{','}');
for(char i:s){
if(stk.empty()){
stk.push(i);
}else{
if(map[stk.top()]==i){
stk.pop();
}else{
stk.push(i);
}
}
}
if(stk.empty()){
return true;;
}else{
return false;
}
}
};

