题解 | #字符串的排列#

字符串的排列

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
        

全部评论

相关推荐

牛舌:如果我不想去,不管对方给了多少,我一般都会说你们给得太低了。这样他们就会给下一个offer的人更高的薪资了。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务