题解 | #字符串的排列#

字符串的排列

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

class Solution:
        # 回溯法
    def Permutation(self , str: str) -> List[str]:
        def backtrack(position):
                       # 到最后,添加
            if position == len(s) - 1:
                res.append(''.join(s))
                return
                       # 设置一个dic降重
            dic = set()
            for index in range(position, len(s)):
                if s[index] in dic:
                    continue
                dic.add(s[index])
                s[index], s[position] = s[position], s[index]
                backtrack(position + 1)
                # 交换完要还原,以进行其他可能的交换
                              s[index], s[position] = s[position], s[index]

        res = []
        s = list(str)
        backtrack(0)
        return res    

全部评论

相关推荐

11-24 00:11
已编辑
广东工业大学 算法工程师
避雷深圳  yidao,试用期 6 个月。好嘛,试用期还没结束,就直接告诉你尽快找下一家吧,我谢谢您嘞
牛客75408465号:笑死,直属领导和 hr 口径都没统一,各自说了一些离谱的被裁理由,你们能不能认真一点呀,哈哈哈哈哈😅😅😅
点赞 评论 收藏
分享
贺兰星辰:不要漏个人信息,除了简历模板不太好以外你这个个人简介是不是太夸大了...
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务