本文共 1500 字,大约阅读时间需要 5 分钟。
??????????????????????????????????????1??00?????10????2??10?????01???????????????????????????1?????????????
???????????????0??????????1?????????????
import java.util.ArrayList;import java.util.List;public class Solution { public String maximumBinaryString(String binary) { char[] chars = binary.toCharArray(); int length = chars.length; List zeroPositions = new ArrayList<>(); // ????0??? for (int i = 0; i < length; i++) { if (chars[i] == '0') { zeroPositions.add(i); } } // ?????????0 for (int i = zeroPositions.size() - 2; i >= 0; i--) { int current = zeroPositions.get(i); int next = zeroPositions.get(i + 1); if (next == current + 1) { // ???10 chars[current] = '1'; chars[next] = '0'; // ??zeroPositions???current?next???????? zeroPositions.remove(i); zeroPositions.remove(i); zeroPositions.add(next); } } return new String(chars); }} zeroPositions????zeroPositions????????0????????10??zeroPositions????????????????0??????????????????????????0???1?????????????
转载地址:http://wrjzz.baihongyu.com/