JZX轻语:简

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

发表于2024年08月07日

#字符串 #贪心

直接贪心地从左到右找到第一个相邻的、具有相同的奇偶性、且第二个字符比第一个字符小的字符对,然后交换这两个字符即可。

class Solution:
    def getSmallestString(self, s: str) -> str:
        for i in range(len(s) - 1):
            a, b = int(s[i]), int(s[i + 1])
            if a % 2 == b % 2 and a > b:
                return f'{s[:i]}{s[i + 1]}{s[i]}{s[i + 2:]}'
        return s

闪念标签:LC

题目链接:https://leetcode.cn/problems/lexicographically-smallest-string-after-a-swap/