题目
给定一个字符串s,最多只能进行一次变换,返回变换后能得到的最小字符串(按照字典序进行比较)。
变换规则:交换字符串中任意两个不同位置的字符。
输入描述
一串小写字母组成的字符串s
输出描述
按照要求进行变换得到的最小字符串。
备注
s是都是小写字符组成
1 ≤ s.length ≤ 1000
用例
输入
abdc
输出
abcd
解题思路
先对字符串进行字典序排序,得到一个新串。如果原始字符串已经是字典序最小的,则直接返回。否则找到第一个不同的字符位置,并在原始字符串中找到该字符最右侧的匹配位置,然后交换这两个字符,最终返回交换后的字符串。这样就确保了只进行一次交换即可得到字典序最小的字符串。
代码
def get_min_string(s<