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