LeetCode 有效的括号 C语言

  • 思路
    栈的标准用法
  • 错误
    题目居然可以小括号内套大括号(⇀‸↼‶)
bool isValid(char * s){
    char stack[10240];
    int i=1;
    stack[0] = '0';
    while(*s!='\0'){
        
        if(*s=='(' || *s=='[' || *s=='{'){
            stack[i++] = *s;
        }
        else if(*s==')' ){
            if(stack[i-1]!='(' )
                return false;
            else
                i--;
        }
        else if(*s==']'){
            if(stack[i-1]!='[' )
                return false;
            else
                i--;
        }
        else if(*s=='}'){
            if(stack[i-1]!='{' )
                return false;
            else
                i--;
        }
        s++;
    }
    if(i==1)
        return true;
    else
        return false;
}

你可能感兴趣的:(LeetCode 有效的括号 C语言)