字符串的排列(python2)

本文解析了如何使用Python解决字符串排列问题,通过递归方法将每个字符与其他位置的字符组合,最终生成所有可能的排列。重点讲解了长度为0、1及大于1的情况,并演示了如何通过set和sorted整理结果。
摘要由CSDN通过智能技术生成

题目链接:字符串的排列_牛客题霸_牛客网 (nowcoder.com)

参考牛客网中的题解

字符串的排列首先要考虑字符串的长度,如果是为0或1,则直接返回输入的列表

除此之外,对于长度大于1的将列表从头开始遍历,并以当前值划分,将当前值作为列表的头字母,并依次递归,等于将每个字母分开并以不同的顺序加入列表中

最后通过set更改列表形式,进行整理,其实sort与否无所谓感觉,但是为了更加没管就加上了

class Solution:
    def Permutation(self, ss):
        # write code here
        a=len(ss)
        if a==0 or a==1:
            return ss
        arr=[]
        for i in range(a):
            head=ss[i]
            tem=ss[:i]+ss[i+1:]
            for j in self.Permutation(tem):
                arr.append(head+j)
        return sorted(list(set(arr)))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值