import sys
for line in sys.stdin:
a = line.split()
res = []
for i in a[0]:
if res and res[-1] == i:
res.pop()
else:
res.append(i)
if res:
print(''.join(res))
else:
print(0)
简单的python解题思路:
要寻找字符串中消除的最终结果,本质上要思考两点:
1.当前位置的字母和后一位字母是否相同?
2.如果存在消除,消除位置前后的字母是否相同?
因此,我们可以借助一个新的列表来记录字符串中的元素,遍历字符串:
1.如果列表为空,那么将当前位置字母加入列表中,不做任何操作;
2.如果列表非空,比较列表最后一位和当前位置是否相同,如果相同,说明列表中该位置可以被消除,使用pop消除该位置;如果不同,那么将当前位置字母加入列表中;
如果遇到了当前位置和后一位字母相同的情况,列表中的该位置会被消除,因此最后一位变为上一位不同的字母。如果后续因为消除又出现同样的字母,也会同样和最后一位比较。
综上,最后列表中的内容就是无法消除的最终内容。

京公网安备 11010502036488号