题解 | #字符串的排列#

字符串的排列

https://www.nowcoder.com/practice/fe6b651b66ae47d7acce78ffdd9a96c7

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param str string字符串 
# @return string字符串一维数组
#
class Solution:
        
    def Permutation(self , str: str) -> List[str]:
        # write code here
        sset = []
        rst = []

        if len(str) <= 1:
            return [str]
        for i in range(len(str)):
            s = str[i]
            if s in sset:
                continue
            sset.append(s)
            if i == len(str)-1:
                p = self.Permutation(str[:i])
            else:
                p = self.Permutation(str[:i]+str[i+1:])
            # print(p)
            for j in range(len(p)):
                p[j] = s + p[j]   
            rst += p
        return rst

方法:递归。

需要去除重复的排列。

全部评论

相关推荐

字节一直是我的白月光,考虑到转正还是拒了日常实习。
从明天开始狠狠卷JV...:为什么你释放的offer没流到我头上
点赞 评论 收藏
分享
程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
见见123:简历没有啥问题,是这个社会有问题。因为你刚毕业,没有工作经历,现在企业都不要没有工作经历的。社会病了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务