class Solution {
public boolean checkOnesSegment(String s) {
boolean res=true;
int n=s.length();
boolean f=true;
for(int i=0;i<n;i++)
{
if(s.charAt(i)=='1')//判断是1吗
{
if(res==false)//如果我这个不是连续的1进来的
return false;//我就返回
f=false;//这里是告诉你我已经走过一次1了
}
else
{
if(f==false)
{
res=false;//如果我是从已经走过的连续的1走到0的话
//就代表我下一次来1就不是第一次了,就可以返回了
}
}
}
return true;
}
}
久违的用java刷题,我java有点不牢。
然后贴一下官方题解让自己长记性(认真看题啊)
class Solution {
public boolean checkOnesSegment(String s) {
return !s.contains("01");
}
}
题解:因为题目所知我们不含前导0 ,所以我开头就已经出现了1,接下来连续的情况,只有出现10,00但是01就一定不可能出现