题解 | #有效括号序列#

有效括号序列

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

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

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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