第一行输入一个整数
代表数据组数。
接下来
行,每行一个仅由 'O' 和 'o' 构成的字符串
,字符串长度不超过
。
每组输出仅包含一行,输出一行字符串代表小鱼儿吐出的泡泡经过融合以后所剩余的泡泡。
1 ooOOoooO
oO
1 OOOOOOOOOOOOOOOooooooooooooooooooOOoOoOoOOOoOoOoOOoOooOoOOoOoOoOoOoOoOoOoOoOooOoOoOOoooOOOOoOOoooOOoOOOOOooOoOOOoOOoooOoOOOooOooooOoOooOoOooOoOooOoOOOOOOOOOOOOOOoOoOoOooOOoOooOoOOoOoOOOOooooOOOOOooooooOOOOOOoooooOoOooOoOoOoooOoOOOOoOoOoOOOOOOOOOOoOooOoOooOOoOOoOooOooOOoooOOOoOoOooOOooOoOOOoOOoOOOoOooOoOOOooOOoooOOoOOoOooOOOOoOooOoOoOoOooOoOoO
oOoOoOoOoOoO
class Stack: def __init__(self) -> None: self.items = [] def push(self, x): self.items.append(x) def pop(self): if not self.is_empty(): self.items.pop() def is_empty(self): return len(self.items) == 0 def peek(self): # 修正拼写 if not self.is_empty(): return self.items[-1] return None def tu_bubbles(bubbles): # 初始化栈 stack = Stack() # 遍历泡泡序列 for bubble in bubbles: if bubble == "o": if stack.peek() == "o": stack.pop() if stack.peek() == "O": stack.pop() else: stack.push("O") else: stack.push("o") elif bubble == "O": if stack.peek() == "O": stack.pop() else: stack.push("O") # 输出最终结果 return "".join(stack.items) # 读取输入 import sys n = int(input()) for line in sys.stdin: s = line.strip() print(tu_bubbles(s))