38. 字符串的排列(中等)

題目描述:

輸入一個字符串,打印出該字符串中字符的所有排列。
你可以以任意順序返回這個字符串數組,但裏面不能有重複元素

示例:
輸入:s = "abc"
輸出:["abc","acb","bac","bca","cab","cba"]
class Solution:
    def permutation(self, s: str) -> List[str]:
        if len(s)<=1:
            return [s]
        res=set()
        for i in range(len(s)): # 每次固定一個元素s[i],
            for j in self.permutation(s[:i]+s[i+1:]):
                res.add(s[i]+j) # 然後讓除了s[i]之外的任意長度元素與s[i]組合。
        return sorted(res)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章