通过递归删除 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

    以上是 通过递归删除 Python 中的给定子字符串来检查字符串是否可以变空 的全部内容, 来源链接: utcz.com/z/327630.html

    回到顶部