#P0715. 消除相邻字符

消除相邻字符

题目描述

小明发现了一台神奇的字符消除机。

这台机器会从左到右读取一串小写字母。每读入一个字符,机器都会把它放到传送带的末尾。

不过,这台机器有一个特别的规则:如果新放上去的字符和传送带末尾原本的字符相同,那么这两个相同的字符会立刻发光并一起消失。

小明想知道,当整串字符都被机器处理完之后,传送带上最后还会剩下什么。

给定一个字符串 s,从左到右依次处理每个字符,并按照下面的规则操作:

  • 如果当前字符和已经保留下来的最后一个字符相同,那么这两个相同字符会一起消失;
  • 否则,当前字符会被保留下来。

所有字符处理完成后,请输出最后剩下的字符串。

如果最后没有剩下任何字符,输出 Empty。

输入格式

输入一行,一个字符串 s。

输出格式

输出一行,表示最后剩下的字符串;如果没有剩下任何字符,输出 Empty。

样例

abbaca
ca
abba
Empty

样例说明

样例 1 中,处理过程如下:

  • 读入 a,保留后得到 a
  • 读入 b,与最后一个字符不同,保留后得到 ab
  • 读入 b,与最后一个字符相同,两个 b 一起消失,得到 a
  • 读入 a,与最后一个字符相同,两个 a 一起消失,得到空串
  • 读入 c,保留后得到 c
  • 读入 a,与最后一个字符不同,保留后得到 ca

所以最后输出 ca。

样例 2 中,abba 处理后所有字符都会消失,所以输出 Empty。

数据范围

  • 对于 100% 的数据,满足 1 <= s.length() <= 100000
  • 字符串 s 中只包含小写英文字母