llllmz

导航

20. 有效的括号C

写个数组当作栈用就行了。

bool isValid(char* s) {
    int t[100000]={0};
        int top=0;
        int flag=1;
        for(int i=0;i<strlen(s);i++){
            if(s[i]=='('){
                t[top++]=1;
            }else if(s[i]=='{'){
                t[top++]=2;
            }else if(s[i]=='['){
                t[top++]=3;
            }else if(s[i]==')'){
                if(top==0||t[top-1]!=1){
                    flag=0;
                    break;
                }
                top--;
            }else if(s[i]=='}'){
                if(top==0||t[top-1]!=2){
                    flag=0;
                    break;
                }
                top--;
            }else if(s[i]==']'){
                if(top==0||t[top-1]!=3){
                    flag=0;
                    break;
                }
                top--;
            }
        }
        if(top!=0) flag=0;
        if(flag){
            return true;
        }else{
            return false;
        }
}

结果;

posted on 2024-01-18 15:43  神奇的萝卜丝  阅读(13)  评论(0)    收藏  举报