LeetCode.2864. 最大二进制奇数

题目

2864. 最大二进制奇数

分析

这道题目其实我们只需要保证最后一位是1,其余的1都放在最前面,这样得到的就是最大二进制奇数。

所以,我们先统计给定的字符串有多少个 1,多少个 0,把其中一个 1 放在最后一位,剩余 1 放在最开始,全部 0 放在中间即可。

代码

class Solution {
    public String maximumOddBinaryNumber(String s) {
        // count[0] 存放 0 的个数
        // count[1] 存放 1 的个数
        int[] count = new int[2];
        for(int i = 0;i < s.length();i ++) {
            count[s.charAt(i) - '0']++;
        }
        return "1".repeat(count[1] - 1) + "0".repeat(count[0]) + "1";
    }
}

PS:repeat 方法是 String 类的方法。它在 Java 11 中被引入,用于创建由指定字符串重复多次构成的新字符串。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值