题解 | 有效括号序列

有效括号序列

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

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

本题用数组来代表栈,遍历字符串,当是左括号字符时入栈,当是右括号字符时判断栈顶是否为相应的左括号,不是则返回false;最后遍历完后判断栈是否为空(判断是否有多出来的括号),空则表示全部匹配完毕,return true,否则return true。

全部评论

相关推荐

嗨害嗨我来了:你跟他说开迈巴赫呢,一个月好几万,让学弟尝尝一点小小的社会险恶
点赞 评论 收藏
分享
06-17 21:57
门头沟学院 Java
白友:噗嗤,我发现有些人事就爱发这些,明明已读不回就行了,就是要恶心人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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