您的位置:首页 > 其它

[leetcode 20] Valid Parentheses

2015-01-21 21:42 459 查看
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.

[Solution]

使用堆栈进行配对即可.

bool isValid(string s)
{
stack<char> stk;
for (int i = 0; i < s.size(); i++)
{
switch(s[i])
{
case '(':
case '{':
case '[':
stk.push(s[i]);
break;
case ')':
if (stk.empty() || stk.top() != '(')
return false;
stk.pop();
break;
case ']':
if (stk.empty() || stk.top() != '[')
return false;
stk.pop();
break;
case '}':
if (stk.empty() || stk.top() != '{')
return false;
stk.pop();
break;
default:
return false;
}
}

return stk.empty();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: