题解 | #有效括号序列#

有效括号序列

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

本人是初学者,不知道这样做算不算栈,而且看了很多题解都没有C语言的解法,我这里提供一个C语言的这道题的解法,望各位大佬指正错误,感谢!!!

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s string字符串 
 * @return bool布尔型
 */

bool isValid(char* s ) 
{
    // write code here
    int len=strlen(s);
    char a[len];
    int rear=-1;
    for(int i=0;s[i]!='\0';i++)
    {
        switch(s[i])
        {
            case '{':
            case '(':
            case '[':
            rear++;
            a[rear]=s[i];
            break;

            case '}':
            case ')':
            case ']':
            if(rear==-1)
            {
                return false;
            }
            if(s[i]==')'&&a[rear]=='('||s[i]=='}'&&a[rear]=='{'||s[i]==']'&&a[rear]=='[')
            {
                rear--;
            }
            else
            {
            return false;
            }
            break;
        }
    }
     if(rear==-1)
     {
        return true;
     }
     else
     {
        return false;
     }
}

#C语言##初学者##初试栈##求指正#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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