题目
游戏规则:输入一个只包含英文字母的字符串,字符串中的两个字母如果相邻且相同,就可以消除。
在字符串上反复执行消除的动作,直到无法继续消除为止,此时游戏结束。
输出最终得到的字符串长度。
思路
从输入的字符串中逐一拿出字符,放进新的列表
将字符与新列表的最后一个字符比较,如果相同就删掉新列表的最后一个字符,如果不同,就增加
题解
# 方法一:
ls = input() # 或者直接输入转成列表ls=list(str(input()))
# 绝对不能input().split(),这样会把输入的字符串分割成一个整体
new_ls = []
for k in ls:
if len(new_ls) > 0:
if k == new_ls[-1]:
new_ls.pop()
else:
new_ls.append(k)
else:
new_ls.append(k)
print(len(new_ls))
# 方法二:
ls = input()
new_ls = []
for i in ls:
if new_ls and new_ls[-1] == i:
new_ls.pop()
else:
new_ls.append(i)
print(len(new_ls))