1702. 修改后的最大二进制字符串
思路:
1.最终结果不会出现连续的00,会被操作1改为10.
2.操作2将所有不在开头的1移动到末尾。
3.然后利用操作1将中间的0改为只有一个0.
4.如果不包含0,直接返回
5.找到第一个0的位置,加上后面0的个数,就是最终那个0的位置
代码:
public String maximumBinaryString(String binary) {
int m = binary.indexOf('0');
if (m == -1) {
return binary;
}
int n = binary.length();
for (int i = m+1; i < n; i++) {
if (binary.charAt(i)=='0'){
m++;
}
}
char[] ans = binary.toCharArray();
Arrays.fill(ans,'1');
ans[m] = '0';
return String.valueOf(ans);
}