思路:
两步:首先求出所有可能出现在第一个位置的字符,即把第一个字符和后面所有的字符交换。下图就是分别把第一个字符a和后面的b,c交换的情景。第二步固定第一个字符,求后面所有字符的排列。
二刷:
理解 for j in self.Permutation(ss[:i]+ss[i+1:])
例如 abc,先选出a,然后bc有两种可能,bc,cb .所以要for j in ......
思路:
两步:首先求出所有可能出现在第一个位置的字符,即把第一个字符和后面所有的字符交换。下图就是分别把第一个字符a和后面的b,c交换的情景。第二步固定第一个字符,求后面所有字符的排列。
二刷:
理解 for j in self.Permutation(ss[:i]+ss[i+1:])
例如 abc,先选出a,然后bc有两种可能,bc,cb .所以要for j in ......