# you can write to stdout for debugging purposes, e.g.# print("this is a debug message")
def solution(S):
data =[]foriin S:
data.append(i)if not data:
None
def find(li,u):
if len(path)== len(li):
ans.append(path[:])returnforiin range(0,len(li)):
if not u[i]:
if i >0 and li[i]== li[i-1] and not u[i-1]:
continue
u[i]=1
path.append(li[i])
find(li,u)
path.pop()
u[i]=0
ans =[]
path =[]
use =[0]*len(data)
find(sorted(data),use)
result_0 =[]foriin ans:
re =''forjin i:
re += str(j)
result_0.append(re)# 所有排列str
result_1 =[]forkin result_0:
foriin range(len(k)):
forjin range(len(k) - i):
result_1.append(k[j:j+i+1])
priny(result_1)
result =[]# 回文排列
def tf_huiwen(s):
if str(s)== str(s)[::-1]: #str[::-1]表示字符串反转
result.append(int(s))foriin result_i:
tf_huiwen(i)
print(result)