题目
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 中被引入,用于创建由指定字符串重复多次构成的新字符串。


















![[LeetCode][LCR169]招式拆解 II——巧妙利用字母的固定顺序实现查找复杂度为O(1)的哈希表](https://img-blog.csdnimg.cn/direct/5250460aa7c04ad894586eb58d47aee6.png)

