本文主要是介绍【LeetCode每日一题】2864. 最大二进制奇数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- [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();}
点击移步博客主页,欢迎光临~
这篇关于【LeetCode每日一题】2864. 最大二进制奇数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!