题解 | #有效括号序列#

有效括号序列

https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s string字符串 
 * @return bool布尔型
 */
 char trans(char *s){
    if(*s==')')
        return '(';
    if(*s=='}')
        return '{';
    if(*s==']')
        return '[';
        return 0;    
 }
bool isValid(char* s ) {
    // write code here
    char *stack;
    int top=0;
    stack=(char*)malloc(strlen(s)*sizeof(char));
    for(int i=0;i<strlen(s);i++){
        if(s[i]=='('||s[i]=='['||s[i]=='{')
            stack[top++]=s[i];
         if(s[i]==')'||s[i]=='}'||s[i]==']'){
             if(top==0){
                return false;
             }
             if(stack[top-1]==trans(&s[i])){
                stack[--top]='\0';
             }else{
                return false;
             }   
         }  
    }
    if(stack[0]!='\0'){
        return false;
    }
    return true;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务