您的位置:首页 > 其它

020 - Valid Parentheses

2015-11-11 17:38 120 查看
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.

检查括号是否能匹配

一帮是用栈实现比较简单

bool isValid(char* s)
{
char stack[2048] = {0};
int sp = -1;
while (*s) {
if (*s == '{' || *s == '[' || *s == '(')
stack[++sp] = *s;
else if (*s == ')') {
if (stack[sp] == '(') sp--;
else break;
} else if (*s == ']') {
if (stack[sp] == '[') sp--;
else break;
} else if (*s == '}') {
if (stack[sp] == '{') sp--;
else break;
} else break;
s++;
}
return !*s && sp == -1? 1 : 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: