假设我们有两个字符串 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