本文主要是介绍2024.3.13力扣每日一题——最大二进制奇数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2024.3.13
- 题目来源
- 我的题解
- 方法一 贪心
题目来源
力扣每日一题;题序:2864
我的题解
方法一 贪心
统计1的个数,满足要求的字符串的末尾一位一定是1,所以需要将一位1放到末尾,然后将剩余的1从最高位开始放,直到放完,其余位置补0。
时间复杂度:O(n)
空间复杂度:O(1)
public String maximumOddBinaryNumber(String s) {int one=0;for(char c:s.toCharArray()){one+=c-'0';}StringBuilder sb=new StringBuilder();for(int i=0;i<one-1;i++){sb.append('1');}for(int i=one-1;i<s.length()-1;i++){sb.append('0');}sb.append('1');return sb.toString();
}
有任何问题,欢迎评论区交流,欢迎评论区提供其它解题思路(代码),也可以点个赞支持一下作者哈😄~
这篇关于2024.3.13力扣每日一题——最大二进制奇数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!