题目解析:只要保证第i个位置的i-1和i+1都是空的就可以坐,只需要特殊处理首位和末尾就可以!
import java.util.*;
public class Main {
public static void main(String[] args) {
// int[] nums = new int[]{1, 0, 0, 0, 1};
// 处理数据
Scanner scanner = new Scanner(System.in);
String string1 = scanner.next();
int[] nums = new int[string1.length()];
for (int i = 0; i < nums.length; i++) {
nums[i] = string1.charAt(i) - '0';
}
if (nums.length == 1) {
if (nums[0] == 0) {
System.out.println(1);
} else {
System.out.println(0);
}
return;
}
int result = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] == 0) {
// 依次处理首位,中间,末尾,注意顺序
if (i == 0 && nums[i + 1] == 0) {
nums[i] = 1;
result++;
} else if (i > 0 && i < nums.length - 1 && nums[i + 1] == 0 && nums[i - 1] == 0) {
nums[i] = 1;
result++;
} else if (i == nums.length - 1 && nums[i - 1] == 0) {
nums[i] = 1;
result++;
}
}
}
System.out.println(result);
}
}