题解 | #有效括号序列#

有效括号序列

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


char c[10000];
int top=0;
void push(char a){
    printf("%c",a);
    c[top++]=a;
}
bool pop(char a){
    if(a==']'&& '['==c[top-1]){//判断是否匹配
        top--;
        printf("%d ",top);
        return true;
    }
    if(a==')'&& '('==c[top-1]){//判断是否匹配
        top--;
        
        return true;
    }
    if(a=='}'&&'{'==c[top-1]){//判断是否匹配
        top--;
        return true;
    }
    return true;
      
}
bool isValid(char* s ) {
    // write code here
    int i=0;
    //字符串长度为奇数,false
    if(strlen(s)%2==1)
        return false;
    //遍历数组s
    while(s[i]!='\0'){
        if(s[i]=='['||s[i]=='('||s[i]=='{'){
            push(s[i]);

        }else {
            if(pop(s[i])){
                printf("%c",s[i]);   
                }         
            else{
                return false;
            }
        }
        i++;
    }
    if(top==0){
        return true;
        }
    else{
        printf("%d ",666);
        return false;
        }
}

全部评论
耗时比较久的原因是,zai判断是否匹配的时候,总是以为两个字符==,实际匹配 不是 ==
点赞 回复 分享
发布于 2024-05-07 18:10 北京

相关推荐

投递北京经纬恒润科技股份有限公司等公司10个岗位
点赞 评论 收藏
分享
牛客54175811...:今年对双非很难。1、争取一段大厂实习经历,2、狂磕八股,3、再跑个难度提升的项目。
点赞 评论 收藏
分享
09-14 20:51
四川大学 Java
慢热的鲸鱼在学习:985加粗就行了,第二个项目来不及准备也没事,省的写了问你你还不会。你只需准备面试八股和项目场景,剩下的交给985。即使面不过也没事,面试经验是最重要的,你现在不缺时间
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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