版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
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> ss;
for (int i = 0; i < s.length(); i ++) {
if (s[i] == '(' || s[i] == '[' || s[i] =='{')
ss.push(s[i]);
else {
if(ss.empty())
return false;
if((ss.top() == '(' && s[i] == ')') || (ss.top() == '[' && s[i] == ']') || (ss.top() == '{' && s[i] == '}'))
ss.pop();
else
return false;
}
}
return ss.empty();
}
};
完,