use*_*424 2 python permutation
如何在Python中执行以下操作?
鉴于两个字符串.打印两个字符串的所有交错.交错意味着if B在A之后,它也应该在交错字符串中的A之后.ex-AB和CD ABCD ACBD ACDB CABD CADB CDAB
这实际上是树行走问题(即,是否沿着一个弦或另一个弦前进的决策树).通常,处理树行走问题的最简单方法是递归解决方案.
这是一个例子:
def ordered_permutations(str1, str2):
perms = []
if len(str1) + len(str2) == 1:
return [str1 or str2]
if str1:
for item in ordered_permutations(str1[1:], str2):
perms.append(str1[0] + item)
if str2:
for item in ordered_permutations(str1, str2[1:]):
perms.append(str2[0] + item)
return perms
Run Code Online (Sandbox Code Playgroud)