題目描述:
輸入一個字符串,打印出該字符串中字符的所有排列。
你可以以任意順序返回這個字符串數組,但裏面不能有重複元素
示例:
輸入: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)