题目描述
现在用一个函数来处理一个字符串(该字符串只包含x和y)。
函数的两个操作如下。
在字符串中找到两个连续的字符(可以不相邻),并且第一个字符是’y’,第二个字符是’x’,然后交换它们。如果一次存在多种满足该条件的连续字符,我们就找到最靠近字符串开始位置的那组进行操作。
在字符串中找到两个连续的字符(可以不相邻),并且第一个字符是’x’,第二个字符是’y’,
然后从原串中将这两个字符删除。如果一次存在多种满足该条件的连续字符,我们就找到最靠近字符串开始位置的那组进行操作。
函数的运行步骤如下:
Step1: 如果你对当前的字符串至少可以进行上面两个操作中的一个,就进入Step2,否则函数运行结束。
Step2:如果你可以进行1 操作就执行它。否则执行2操作1次,2操作结束后进入Step1.
请输出函数运行结束之后经过处理符串。
输入描述
输入一个字符串,保证字符串不为空且仅由’x’和’y’组成。字符串长度为1~106。
输出描述
输出函数返回值。
保证测试数据不会让返回值为空串。
样例输入
yxyxy
样例输出
y
提示
意就可以看出,不管是xy还是yx,全部可以消掉,但是xy是可以不相连的,所以可以用栈来模拟这个过程,如果栈为空,就入栈,若栈不空,则判断栈顶元素和当前字符是否相同,如果相同就入栈,不同就出栈。