不使用python自带数据结构完成字符串排列组合

如题,在不使用python语言自带的数据结构和库完成字符串的排列组合(读取时候可以切字符来读),是否可以用递归来完成?如何完成,或其他方法。

参考一下:https://blog.csdn.net/weixin_36297465/article/details/77620920
如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢

不使用python自带数据结构完成字符串排列组合

def perms(s='',p=''):
    if len(s)<=1:
        print(p+s)
        return
    for i in range(len(s)):
        perms(s[0:i]+s[i+1:],p+s[i])

perms('ABCD')

img


切片也不用,那就把切片改成循环一个字符一个字符的拼接

def perms(s='',p=''):
    if len(s)<=1:
        print(p+s)
        return
    for i in range(len(s)):
        e = ''
        for j in range(len(s)):
            if j!=i:
                e += s[j]
        perms(e,p+s[i])
perms('ABCD')