2024每日刷题(196)

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

在这里插入图片描述

实现代码

class Solution {
public:
    int flagodd_even(int num) {
        if(num % 2) {
            // 奇数
            return 1;
        } else {
            // 偶数
            return 0;
        }
    }
    string getSmallestString(string s) {
        int n = s.length();
        int i = 0;
        int num1 = s[0] - '0';
        int num2 = s[1] - '0';
        int flag1 = flagodd_even(num1);
        int flag2 = flagodd_even(num2);
        if(flag1 == flag2 && num1 > num2) {
            swap(s[i], s[i + 1]);
            return s;
        }
        
        for(int j = 2; j < n; j++) {
            num1 = num2;
            num2 = s[j] - '0';
            flag1 = flagodd_even(num1);
            flag2 = flagodd_even(num2);
            if(flag1 == flag2 && num1 > num2) {
                swap(s[j], s[j - 1]);
                return s;
            }
        }
        return s;
    }
};

运行结果

在这里插入图片描述

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部