题解 | 吐泡泡

吐泡泡

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

import java.util.Scanner;
import java.util.Stack;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
      
        String n = in.nextLine();
        while(in.hasNextLine()){
            //  System.out.println("1111");
            String str = in.nextLine();
            Stack<Character> zhan = new Stack<Character>();
            for(int i = 0;i<str.length();i++){
                if(zhan.isEmpty()){
                    zhan.push(str.charAt(i));
                }else{
                    if(zhan.peek()==str.charAt(i) && zhan.peek() == 'O') {
                        zhan.pop();
                    }else if(zhan.peek()==str.charAt(i) && zhan.peek() == 'o'){
                        zhan.pop();
                        if(zhan.size()>0){
                            Character pop = zhan.peek();
                            if(pop == 'O'){
                                zhan.pop();
                            }else{
                                zhan.push(str.charAt(i));
                            }
                        }else{
                            zhan.push('O');
                        }
                    }else{
                        zhan.push(str.charAt(i));
                    }               
                }
                
            }
            for(int i = 0;i<zhan.size();i++){
                System.out.print(zhan.get(i).toString());
            }
            System.out.println();
        }
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
05-25 18:29
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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