Given a string containing just the characters '('
, ')'
, '{'
, '}'
, '['
and ']'
, determine if the input string is valid.
An input string is valid if:
- Open brackets must be closed by the same type of brackets.
- Open brackets must be closed in the correct order.
Note that an empty string is also considered valid.
Example 1:
Input: "()" Output: true
Example 2:
Input: "()[]{}" Output: true
Example 3:
Input: "(]" Output: false
Example 4:
Input: "([)]" Output: false
Example 5:
Input: "{[]}" Output: true
判断一个带括号的字符串是否合法,直接用栈,水题,代码如下。
class Solution {
public:
bool isValid(string s)
{
stack<char> pars;
for (int i = 0; i < s.size(); i++) {
if (pars.empty()) {
pars.push(s[i]);
continue;
}
char t = pars.top();
if ((t == ‘(‘&& s[i] == ‘)’) || (t == ‘{ ‘&& s[i] == ‘ }’) || (t == ‘[‘&& s[i] == ‘]’))
pars.pop();
else
pars.push(s[i]);
}
return pars.empty();
}
};
本代码提交AC,用时0MS。