给定一个字符串s,最多只能进行一次变换,返回变换后能得到的最小字符串(按照字典序进行比较)。
变换规则:交换字符串中任意两个不同位置的字符。
输入描述
一串小写字母组成的字符串s
输出描述
一串小写字母组成的字符串s
备注
s是都是小写字符组成
1 ≤ s.length ≤ 1000
用例1
输入
abcdef
输出
abcdef
说明
abcdef已经是最小字符串,不需要交换。
用例2
输入
bcdefa
输出
acdefb
说明
a和b进行位置交换,可以得到最小字符串
def change_str(s1,s2):
for i in range(len(s1)):
if s1[i]!=s2[i]:
change_index=i
break
else:
return ''.join(s1)
min_index=change_index
for j in range(change_index,len(s)):
if s1[j]<=s1[min_index]:
min_index=j
temp=s1[change_index]
s1[change_index]=s1[min_index]
s1[min_index]=temp
return ''.join(s1)
s=input()
s1=list(s)
s2=sorted(s)
s=change_str(s1,s2)
print(s)