1.题目
Given a string containing just the characters '(', ')', '{', '}', '[' and ']',
determine if the input string is valid.
The brackets must close in the correct order, "()" and "()[]{}" are
all valid but "(]" and "([)]" are
not.
2.思路
检查字符串的括号是否使用正确,自然是用栈了。
lass Solution {
public:
bool isValid(string s) {
stack<char> tmp;
for(int i=0;i<s.size();i++)
{
if(tmp.empty()) tmp.push(s[i]);
else {
if(tmp.top()=='(' && s[i]==')') tmp.pop();
else if(tmp.top()=='[' && s[i]==']') tmp.pop();
else if(tmp.top()=='{' && s[i]=='}') tmp.pop();
else tmp.push(s[i]);
}
}
if(tmp.empty()) return 1;
else return 0;
}
};
本文探讨了如何利用栈数据结构解决括号匹配问题,并提供了详细代码实现。通过遍历输入字符串并利用栈操作,判断括号是否正确闭合,确保字符串的有效性。
976

被折叠的 条评论
为什么被折叠?



