题解 | 好串

好串

https://www.nowcoder.com/practice/9b072237ebdd4dd99562f01cbf594fac

#include <stdio.h>
#include<string.h>
int main() 
{
    char s[10001];
    scanf("%s",s);
    int len=strlen(s);
    char stack[10001];
    int flag=1,top=-1;
    for(int i=0;i<len;i++)
    {
        if(s[i]=='a')
        {
            stack[++top]=s[i];
        }
        else if (s[i] == 'b') 
        {
            // 栈空 或 栈顶不是对应的a,判定不合法
            if (top == -1 || stack[top] != 'a') 
            {
                flag = 0;
                break;
            }
            top--; // 匹配成功,栈顶出栈
        }
    }
    if(top!=-1)
    {
        flag=0;
    }
    if(!flag)
    {
        printf("Bad");
    }
    else 
    {
        printf("Good");
    }
    return 0;
}

全部评论

相关推荐

鱼专:别投了,我看到有人点了第二个链接投递,还没退出界面,不合适的邮件就发过来了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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