用于检查最终字符串是否可以在Python中使用其他两个字符串组成的程序
假设我们有两个字符串s,t和另一个字符串r,我们必须检查是否有通过按s和t的顺序合并字符来获取r的方法。
因此,如果输入像s=“xyz”t=“mno”r=“xymnoz”,则输出将为True,因为xymnoz可以通过交织xyz和mno来形成。
为了解决这个问题,我们将遵循以下步骤-
定义一个功能solve()。这将花费s,t,r
如果s,t和r为空,则
如果r为空,则
返回False
返回True
如果s为空,则
当t与r相同时返回true,否则返回false
如果不是t不为零,则
returns与r相同
如果s[0]与r[0]相同,则
返回True
如果solve(s[从索引1到结束],t,r[从索引1到结束])为真,则
如果t[0]与r[0]相同,则
返回True
如果solve(s,t[从索引1到结束],r[从索引1到结束])为真,则
返回False
让我们看下面的实现以更好地理解-
示例
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
热门推荐
10 简短的祝福语中秋搞笑
11 开业祝福语大全简短赞美
12 朋友生闺女简短祝福语
13 对新人祝福语大全简短
14 出车开工吉祥祝福语简短
15 中秋祝福语简短带署名
16 接亲祝福语简短10字
17 给妈妈祝福语简短内容
18 伴娘祝福语简短朋友的话