删除 Python 中的连续重复项
假设我们有一个由“R”和“L”组成的字符串 s,我们必须删除最少的字符,以便没有连续的“R”和没有连续的“L”。
因此,如果输入类似于“LLLRLRR”,则输出将为“LRLR”
为了解决这个问题,我们将遵循以下步骤:
- seen:s 的第一个字符
- ans:s 的第一个字符
- 对于索引 1 至 s 末尾的每个字符 i 执行以下操作:
- 如果 i 与 seen 不同,则
- ans:ans + i
- seen:i
- 如果 i 与 seen 不同,则
- 返回 ans
让我们看看以下实现以获得更好的理解:
示例
class Solution: def solve(self, s): seen = s[0] ans = s[0] for i in s[1:]: if i != seen: ans += i seen = i return ans ob = Solution() print(ob.solve("LLLRLRR"))
输入
"LLLRLRR"
输出
LRLR
广告