题解 | 吐泡泡

吐泡泡

https://www.nowcoder.com/practice/f86fa2221c094b3d8d1fc79bae450d96

#include <stdio.h>
#include<string.h>
#define max 100005;
char stack[100005];
int top=0;
void popo(char*s){
    top=0;
    int len=strlen(s);
    for(int i=0;i<len;i++){
        char cur=s[i];
        if(top>0){
            char top_char=stack[top-1];
            if(top_char=='o'&&cur=='o'){
            top--;
            if(top>0&&stack[top-1]=='O'){
            top--;
        }
            else{
            stack[top++]='O';
                }
            }
            else if(top_char=='O'&&cur=='O'){
                top--;
            }
        else{
            stack[top++]=cur;
            }        
        }
        else{
            stack[top++]=cur;
        }
    }
        for(int i=0;i<top;i++){
            putchar(stack[i]);
        }
        putchar('\n');
}
int main() {
    int T;
    scanf("%d",&T);
    char s[100005];
    while(T--){
        scanf("%s",s);
        popo(s);
    
    }

    return 0;
}//完全是在豆老师的帮助下写完的,豆包太有实力了!

全部评论

相关推荐

02-15 14:18
已编辑
江西工程学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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