LeetCode每日一题

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

java 复制代码
class Solution {
    public String getSmallestString(String s) {
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            int number1 = c - '0';
            if (i == s.length() - 1) {
                return s;
            }
            c = s.charAt(i + 1);
                int number2 = c - '0';
            if (((number1 % 2 == 0 && number2 % 2 == 0) || (number1 % 2 != 0 && number2 % 2 != 0)) && number1 > number2) {
                s = swap(i, s);
                return s;
            }
        }
        return s;   
    }

    public String swap(int i, String s) {
        byte[] bytes = s.getBytes();
        byte temp = bytes[i + 1];
        bytes[i + 1] = bytes[i];
        bytes[i] = temp;
        return new String(bytes);

    }
}
相关推荐
magicwt1 分钟前
快手自动出价论文GAVE阅读笔记
算法
写了20年代码的老程序员6 分钟前
Java Lambda 类型安全查询是怎么实现的?从字节码层面拆一遍
java·开源
智者知已应修善业10 分钟前
【P12159蓝桥杯数组翻转】2025-4-24
c语言·c++·经验分享·笔记·算法·蓝桥杯
唐青枫18 分钟前
Java RabbitMQ 实战指南:从交换机、队列到可靠消息处理
java
卓怡学长23 分钟前
w272基于springboot便民医疗服务小程序
java·spring boot·spring·小程序·intellij-idea
一方~24 分钟前
权限系统设计
java
盐焗鹌鹑蛋30 分钟前
【C++】多态
java·jvm·c++
rebibabo31 分钟前
Java高并发底层原理(七)volatile 到底解决了什么问题
java·学习笔记·volatile·可见性·有序性·指令重排
名字还没想好☜1 小时前
Go 并发实战:用 channel 实现 worker pool
java·数据库·后端·golang·go
小巧的砖头1 小时前
使用SVN+CruiseControl+ANT实现持续集成之一
学习·算法