以下是使用 Python 实现字符串全排列的代码,使用 copy 方法来避免修改原始字符串:

def permute(s):
    if len(s) == 0:
        return []
    if len(s) == 1:
        return [s]
    result = []
    for i in range(len(s)):
        c = s[i]
        rest = s[:i] + s[i+1:]
        for p in permute(rest):
            result.append([c] + p)
    return result

s = 'abc'
perms = permute(s)
for p in perms:
    print(''.join(p))

在这个代码中,我们首先判断字符串是否为空或只有一个字符,如果是,则直接返回该字符串。否则,我们遍历字符串中的每个字符,将其作为排列的第一个字符,然后递归调用 permute 函数求余下字符的全排列。最后,将第一个字符与余下字符的全排列组合起来,得到当前字符串的全排列。我们使用 copy 方法来创建新的字符串,避免对原始字符串的修改。

Python 字符串全排列算法实现:使用 copy 方法

原文地址: https://www.cveoy.top/t/topic/nwN7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录