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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值