01子串
Description
给你一个二进制字符串s,该字符串不含前导零。
如果s包含零个或一个由连续的’1’组成的字段,返回true。否则,返回false
Input
输入一个只含01的字符串s
1≤s.length≤100
Output
输出true或false
Sample
代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
System.out.println(process(s));
}
public static boolean process(String s){
boolean flag = true;
for(int i = 0;i<s.length();i++){
if(s.charAt(i)=='1'&&!flag){
return false;
}
if(s.charAt(i)=='1'&&flag){
while (i<s.length()&&s.charAt(i)=='1'){
i++;
}
flag = false;
i--;//与for循环i++抵消
}
}
return true;
}
}
思路
仍然是使用flag维护变量状态是否改变