题解 | #字符串的排列#

字符串的排列

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


class Solution:
    def Permutation(self , str1: str):
        s = list(str1)
        output = []
        n = len(s)

        def func(first):

            if first == n:
                output.append(''.join(s))
                return

            used = set()
            for i in range(first, n):
                if s[i] in used: # 压入集合的应该是s[i],而不是i
                    continue
                
                used.add(s[i])

                s[first], s[i] = s[i], s[first]
                func(first + 1)
                s[first], s[i] = s[i], s[first]

        func(0)
        return output
        

全部评论

相关推荐

06-12 10:50
门头沟学院 Java
你的不定积分没加C:我怎么在学院群看到了同样的话
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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