一个字符串如果没有 三个连续 相同字符,那么它就是一个 好字符串 。
给你一个字符串 s ,请你从 s 删除 最少 的字符,使它变成一个 好字符串 。
请你返回删除后的字符串。题目数据保证答案总是 唯一的 。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/delete-characters-to-make-fancy-string
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路:比较当前字母和前一个字母是否相同,如果相同比较前一个字母出现的次数,然后根据条件拼接。
python3实现:
class Solution:
def makeFancyString(self, s: str) -> str:
# 只需要找到前一个元素的计数,等于3就不添加进列表中了
result = ""
tmp = s[0]
count = 1
result += tmp
for elem in s[1:]:
# print("此时字母是:", elem, "前一个字母是:", tmp)
if elem == tmp:
count += 1
if count <= 2:
result += elem
else:
count = 3
else:
result += elem
tmp = elem
count = 1
# print("result:", result)
return result
