3216.交换后字典序最小的字符串
链接:3216.交换后字典序最小的字符串
难度:Easy
标签:贪心、字符串
简介:给你一个仅由数字组成的字符串 s,在最多交换一次 相邻 且具有相同 奇偶性 的数字后,返回可以得到的字典序最小的字符串。如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5 和 9、2 和 4 奇偶性相同,而 6 和 9 奇偶性不同。
题解 1 - python
- 编辑时间:2024-10-30
- 执行用时:3ms
- 内存消耗:16.28MB
- 编程语言:python
- 解法介绍:遍历,找到一个可以交换的字符位置
class Solution:
def getSmallestString(self, s: str) -> str:
arr = list(s)
for i in range(1, len(arr)):
if int(arr[i]) % 2 == int(arr[i - 1]) % 2 and int(arr[i - 1]) > int(arr[i]):
arr[i], arr[i - 1] = arr[i - 1], arr[i]
break
return ''.join(arr)