自学内容网 自学内容网

【LeetCode每日一题】2864. 最大二进制奇数


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();
    }

点击移步博客主页,欢迎光临~

偷cyk的图


原文地址:https://blog.csdn.net/m0_64003319/article/details/136687184

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!