【牛客算法竞赛入门课第二节例题、习题】吐泡泡

吐泡泡

http://www.nowcoder.com/questionTerminal/f86fa2221c094b3d8d1fc79bae450d96





#include <cstring>
#include <cstdio>
#include <stack>
using namespace std;
const int N = 110;
stack<char> s;
char str[N];
void print(){
    char ans[N];
    int idx = 0;
    while(!s.empty()){
        ans[++idx] = s.top();
        s.pop();
    } 
    for(int i = idx;i > 0;i--){
        printf("%c",ans[i]);
    }
    puts("");
}
int main(){
    while(~scanf("%s",str)){
        while(s.size()) s.pop();
        int n = strlen(str);
        for(int i = 0;i < n;i++){
            char ch = str[i];
            if(s.empty()) s.push(str[i]);
            else if(ch == 'O' && s.top() == 'O'){
                s.pop();
            }else if(ch == 'o' && s.top() == 'o'){
                s.pop();
                if(s.size() && s.top() == 'O') s.pop();
                else s.push('O');
            }else s.push(ch);
        }
        print();
    }
    return 0;
}
全部评论

相关推荐

威猛的小饼干正在背八股:挂到根本不想整理
点赞 评论 收藏
分享
10-05 23:02
东北大学 Java
我说句实话啊:那时候看三个月培训班视频,随便做个项目背点八股,都能说3 40w是侮辱价
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务