2019-08-24 10:08:45 -07:00

30 lines
730 B
C

bool isValid(char * s){
int i, k = 0, len = strlen(s);
char *store = calloc(len, sizeof(char));
for( i = 0; s[i] != '\0'; i++) {
switch(s[i]) {
case '(':
case '{':
case '[':
store[k++] = s[i];
break;
case ')':
if(k < 1 || store[--k] != '(')
goto out;
break;
case '}':
if(k < 1 || store[--k] != '{')
goto out;
break;
case ']':
if(k < 1 || store[--k] != '[')
goto out;
break;
}
}
out:
free(store);
return s[i] == '\0' && k == 0;
}