LeetCode Valid Parentheses

char CharRotate(char *ch)
{
if(*ch == '}')
return '{';
else if(*ch == ')')
return '(';
else if(*ch == ']')
return '[';
else
return ' ';
}
bool isValid(char* s) {
char temp[BUFSIZ];
int str_len;
int i, j;

str_len = strlen(s);
if(str_len%2 != 0)
return false;
if(s[0] == ')' ||s[0] == ']' ||s[0] == '}')
return false;
temp[0] = ' ';
temp[1] = s[0];
temp[BUFSIZ-1] = '\0';
for(i=1,j=1; i<str_len; i++)
{
if(CharRotate((s+i)) != temp[j])
{
if(*(s+i) == ')' ||*(s+i) == ']' ||*(s+i) == '}')
if(j==0)
return false;
j++;
temp[j] = *(s+i);
}
else
{
temp[j] = ' ';
j--;
}
}
if(j==0)
return true;
else
return false;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章