栈的基本应用
如果栈中没有元素的话就直接进栈就好了
如果栈顶有元素为o并且当前元素也为o的话,就要出栈并且看看之前的是不是O,如果是的话再出栈,不是得话就让O进栈。
如果都为O的话就出栈,最后合并即可。
import java.math.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.*;
public class Main {
public static void main(String args[])throws IOException
{
StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
Scanner input = new Scanner(System.in);
Stack<Character> stack = new Stack<>();
while(input.hasNext())
{
String s = input.next();
for(int i=0;i<s.length();i++)
{
if(stack.size()==0)
stack.add(s.charAt(i));
else
{
if(stack.peek()=='o'&&s.charAt(i)=='o')
{
stack.pop();
if(stack.size()!=0&&stack.peek()=='O')
stack.pop();
else{
stack.add('O');
}
}
else{
if(stack.peek()=='O'&&s.charAt(i)=='O')
{
stack.pop();
}
else{
stack.add(s.charAt(i));
}
}
}
}
String s1="";
while(stack.size()!=0)
{
s1 = stack.pop()+s1;
}
System.out.println(s1);
}
}
}
京公网安备 11010502036488号