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.
class Solution {
public:
bool isValid(string s) {
bool f = true;
while (!s.empty()&&f)
{
f=false;
int i = 0;
while (!s.empty() && i < s.length() - 1)
{
if (s[i] == '('&&s[i + 1] == ')' || s[i] == '['&&s[i + 1] == ']'
|| s[i] == '{'&&s[i + 1] == '}')
{
f = true;
s.erase(i, 2);
}
else
i++;
}
}
return s.empty();
}
};accepted

本文介绍了一种使用C++实现的有效算法来判断一个包含括号的字符串是否有效。该算法通过不断检查并移除成对出现的括号,最终确定字符串是否合法。文中详细解释了如何处理圆括号'()'、方括号'[]'及花括号'{}
263

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



