您的位置:首页 > 其它

leetCode 20. Valid Parentheses 字符串

2016-08-11 00:30 399 查看
20. Valid Parentheses

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) {
if(s.size() == 0 || s.size() % 2 == 1)
return false;
map<char, char> brackets;
brackets.insert(pair<char, char>('}', '{'));
brackets.insert(pair<char, char>(']', '['));
brackets.insert(pair<char, char>(')', '('));
stack<char> mystack;
for(int i = 0 ;i < s.size();i++)
{
if(s[i] == '{' || s[i] == '[' || s[i] == '(' )
{
mystack.push(s[i]);
}
else
{
if( mystack.size() < 1)
return false;
if(brackets[s[i]] == mystack.top())
mystack.pop();
else
return false;
}
}
if(mystack.size() == 0)
return true;
else
return false;
}
};
2016-08-11 00:30:15
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  字符串