文章目录
- [2864. 最大二进制奇数](https://leetcode.cn/problems/maximum-odd-binary-number/)
- 思路:
- 代码1:
2864. 最大二进制奇数
思路:
1.拼贴字符串。
2.遍历字符串s,统计1的个数。
3.如果只有一个1,将1放在末尾,保证这个二进制数是奇数
4.如果有多个1,将一个1放在末尾,将剩余的1尽可能的放在开头
5.用StringBuilder来拼接字符,最后返回一个字符串的形式
代码1:
public String maximumOddBinaryNumber(String s) {
int count = 0;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
count += s.charAt(i)-'0';
}
if (count == 0) {
for (int i = 0; i < s.length() - 1; i++) {
sb.append(0);
}
sb.append(1);
} else {
for (int i = 0; i < count - 1; i++) {
sb.append(1);
}
for (int i = 0; i < s.length() - count; i++) {
sb.append(0);
}
sb.append(1);
}
return sb.toString();
}
点击移步博客主页,欢迎光临~