首页 > 解决方案 > 给定一个字符串 S,使用 python 递归地从中删除连续的重复项

问题描述

我正在添加 str[1] ,这会导致留下一个重复的元素,但如果不这样做,则不会打印该字符串。任何解决方案

def removeCD(str):
    l  = len(str)
    if l == 0 or l == 1:
        return str
    if(str[0]==str[1]):
        return str[1] + removeCD(str[2:])
    else:
        return  str[0] + removeCD(str[1:])

string = input().strip()
print(removeCD(string))

标签: pythonstringrecursionduplicates

解决方案


当字符相等时,您再次添加重复字符。这应该有效:

def removeCD(str):
    l  = len(str)
    if l == 0 or l == 1:
        return str
    if(str[0]==str[1]):
        return removeCD(str[1:])
    else:
        return  str[0] + removeCD(str[1:])

string = input().strip()
print(removeCD(string))

推荐阅读