在Python中编写程序以检查最终字符串是否可以使用其他两个字符串组成

在Python中编写程序以检查最终字符串是否可以使用其他两个字符串组成

假设我们有两个字符串s,t,还有另一个字符串r,我们必须检查是否有任何方法可以通过按顺序合并从s和t中的字符来获取r。

因此,如果输入类似于s=”xyz” t=”mno” r=”xymnoz”,则输出将为True,因为通过交错xyz和mno可以形成xymnoz。

为了解决这个问题,我们将按照以下步骤进行−

  • 定义函数solve()。这将采取s,t,r

  • 如果s,t和r为空,则

    • 返回真
      • 如果r为空,则

      • 返回假

  • 如果s为空,则

    • 当t与r相同时返回真,否则返回假
  • 如果t不是零,则
    • 返回s与r相同
  • 如果s [0]与r [0]相同,则
    • 如果solve(s[from index 1 to end], t, r[from index 1 to end])为真,则
      • 返回真
  • 如果t [0]与r [0]相同,则
    • 如果solve(s,t[from index 1 to end],r[from index 1 to end])为真,则
      • 返回真
  • 返回假

让我们看一下以下实现以获得更好的理解−

示例

class Solution:
   def solve(self, s, t, r):
      if not s and not t and not r:
         return True
      if not r:
         return False
      if not s:
         return t == r
      if not t:
         return s == r
      if s[0] == r[0]:
         if self.solve(s[1:], t, r[1:]):
            return True
         if t[0] == r[0]:
            if self.solve(s, t[1:], r[1:]):
               return True
         return False
ob = Solution()
s = "xyz"
t = "mno"
r = "xymnoz"
print(ob.solve(s, t, r))

输入

"xyz","mno","xymnoz"

输出

True

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程