通过递归删除 Python 中的给定子字符串来检查字符串是否可以变空
假设我们有两个字符串s和t。我们可以从s中删除t任意次。并且t一次只出现一次。我们必须根据需要多次删除t来检查s是否可以变为空。
因此,如果输入类似于s="pipipinnn"t="pin",那么输出将为True,因为我们可以从"pipipinnn"中删除"pin",然后我们将得到"pipinn",再次删除"pin"到获取字符串“pin”,然后将其删除以使其为空。
为了解决这个问题,我们将按照以下步骤操作-
当s>0的大小时,做
从循环中出来
position:=s中t的起始索引
如果位置不在s中,则
s:=从s中删除t一次
当s的大小与0相同时返回true否则返回false
让我们看看以下实现以获得更好的理解-
示例
def solve(s, t): while len(s) > 0: position = s.find(t) if position == -1: break s = s.replace(t, "", 1) return len(s) == 0 s = "pipipinnn" t = "pin" print(solve(s, t))
输入
"pipipinnn", "pin"输出结果
True