跳到主要内容

3216.交换后字典序最小的字符串

链接:3216.交换后字典序最小的字符串
难度:Easy
标签:贪心、字符串
简介:给你一个仅由数字组成的字符串 s,在最多交换一次 相邻 且具有相同 奇偶性 的数字后,返回可以得到的字典序最小的字符串。如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5 和 9、2 和 4 奇偶性相同,而 6 和 9 奇偶性不同。

题解 1 - undefined

  • 编辑时间:2024-10-30
  • 执行用时:3ms
  • 内存消耗:16.28MB
  • 编程语言:undefined
  • 解法介绍:遍历,找到一个可以交换的字符位置
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)