def fun(a,b,i,j,lt,s):
if len(a)+len(b)==len(s):
lt.append(s)
if len(a)!=i:
s+=a[i]
i+=1
fun(a,b,i,j,lt,s)
i-=1
s=s[:-1]
if len(b)!=j:
s+=b[j]
j+=1
fun(a,b,i,j,lt,s)
def interleavings(a,b):
lt=[]
s=''
fun(a,b,0,0,lt,s)
print(lt)
return lt
pass
if __name__ == "__main__":
interleavings('abc','def')
问题描述:将两个字符串交替合并成一个新字符串。满足要求:
1.保证原本字符串自己的顺序
2.输出所有结果
例"ab"和"cd"
合并时保证a在b前,c在d前
满足的所有结果:‘abde’, ‘adbe’, ‘adeb’, ‘dabe’, ‘daeb’, ‘deab’