力扣每日一题检查二进制字符串字段

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就一定不可能出现


版权声明:本文为qq_62773260原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。