bool isValid(char * s)
{
if (s == NULL || s[0] == '\0')
{
return true;
}
char *stack = (char*)malloc(strlen(s)+1);
int top =0;
for (int i = 0; s[i]!='\0'; i++)
{
if(s[i] == '(' || s[i] == '[' || s[i] == '{')
{
stack[top++] = s[i];
}
else
{
if ((--top) < 0)
{
return false;//先减减,让top指向栈顶元素
}
if (s[i] == ')' && stack[top] != '(')
{
return false;
}
if (s[i] == ']' && stack[top] != '[')
{
return false;
}
if (s[i] == '}' && stack[top] != '{')
{
return false;
}
}
}
return (!top);
}```
括号匹配
最新推荐文章于 2024-09-22 10:16:35 发布