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