题解 | 有效括号序列

有效括号序列

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

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s string字符串 
 * @return bool布尔型
 */
#include <stdio.h>
int top = 0;
char stack[10001];

void spush(char value)
{
    stack[top++] = value;
}
char spop(void)
{
    char s = 0;
    if (top > 0) {
        top--;
        s = stack[top];
    }
    return s;
}

bool isValid(char* s ) {
    // write code here
    int idx = 0;
    while (s[idx] != '\0') {
        switch (s[idx]) {
            case ')':
                if (spop() != '(') {
                    return false;
                };
            break;
            case ']':
                if (spop() != '[') {
                    return false;
                }
            break;
            case '}':
                if (spop() != '{') {
                    return false;
                }
            break;
            default:
                spush(s[idx]);
            break;
        }
        idx++;
    }
    return (top == 0);
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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