题解 | #字符串的排列#

字符串的排列

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

思路类似称砝码。

首先选择第一个字符,存入集合中,然后依次遍历剩余字符串,把遍历到的字符插入到集合的每一个元素中去,其插入结果组成新的集合

缺点:耗时,勉强合格

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param str string字符串
# @return string字符串一维数组
#
class Solution:
    def Permutation(self, str_1):
        # write code here
        str_set = {str_1[0]}
        for i in range(1, len(str_1)):
            res_add = []
            for res_tp in str_set:
                res_add.extend(self.insert(res_tp, str_1[i]))
            str_set = set(res_add)

        return list(str_set)

    def insert(self, str_a, char_b):
        list_ist = []
        for i in range(len(str_a) + 1):
            str_l = str_a[:i]
            str_r = str_a[i:]
            list_ist.append(str_l + char_b + str_r)
        return list_ist


全部评论

相关推荐

10-09 09:39
门头沟学院 C++
HHHHaos:这也太虚了,工资就一半是真的
点赞 评论 收藏
分享
牛客279957775号:铁暗恋
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务