题解 | 吐泡泡

吐泡泡

https://www.nowcoder.com/practice/f86fa2221c094b3d8d1fc79bae450d96?tpId=383&tags=&title=&difficulty=0&judgeStatus=0&rp=0&sourceUrl=%2Fexam%2Foj

#include <iostream>
#include <stack>

using namespace std;



void output(string str)
{
    stack<char> ch;
    for(int i =0;i<str.size();i++)
    {
        if((str[i]=='o')&&(ch.empty()==true))
        {
            ch.push(str[i]);
        }
        else if((str[i]=='o')&&(ch.empty()!=true))
        {
            if(ch.top()=='o')
            {
                ch.pop();
                if(ch.empty()!=true)
                {
                    if(ch.top()=='O')
                        ch.pop();
                    else
                        ch.push('O');
                }
                else
                {
                    ch.push('O');
                }
            }
            else
            {
                ch.push(str[i]);
            }
        }
        else if((str[i]=='O')&&(ch.empty()==true))
        {
            ch.push(str[i]);
        }
        else if((str[i]=='O')&&(ch.empty()!=true))
        {
            if(ch.top()=='O')
            {
                ch.pop();
            }
            else
            {
                ch.push(str[i]);
            }
        }
        else
        {

        }
    }

    stack<char> res;

    while(ch.empty()!=true)
    {
        res.push(ch.top());
        ch.pop();
    }
    while(res.empty()!=true)
    {
        cout<<res.top();
        res.pop();
    }
    cout<<endl;

}

int main() {

    string str;
    int loop;

    cin>>loop;

    while(loop--)
    {
        cin>>str;
        output(str);
    }
    
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
2025-12-26 10:52
河北传媒学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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