天天看點

1784. 檢查二進制字元串字段-今日份快樂

🍁 作者:知識淺談,CSDN部落格專家,阿裡雲簽約部落客,InfoQ簽約部落客,華為雲雲享專家

📌 擅長領域:全棧工程師、爬蟲、ACM算法

💒 公衆号:知識淺談

檢查二進制字元串字段總結

正菜來了⛳⛳⛳

🎈題意

給你一個二進制字元串 s ,該字元串 不含前導零 。

如果 s 包含 零個或一個由連續的 ‘1’ 組成的字段 ,傳回 true 。否則,傳回 false 。

如果 s 中 由連續若幹個 ‘1’ 組成的字段 數量不超過 1,傳回 true 。否則,傳回 false 。

示例 1:

輸入:s = “1001”

輸出:false

解釋:由連續若幹個 ‘1’ 組成的字段數量為 2,傳回 false

示例 2:

輸入:s = “110”

輸出:true

提示:

1 <= s.length <= 100

s[i]​​​​ 為 ‘0’ 或 ‘1’

s[0] 為 ‘1’

🎈題解

就是求連續1組成的字元段的個數,如果大于1就是false,小于等于1就是true。

class Solution {
    public boolean checkOnesSegment(String s) {
        int len = s.length();
        char[] chs = s.toCharArray();
        int index = -1;
        int seg1 = 0;
        for(int i=0;i<len;i++){
            if(chs[i]=='1'){
                if(seg1==1) return false;
                // if(index+1!=i) return false; 
            }else{
                if(i-1>=0&&chs[i-1]=='1') seg1++;
                index = i;
            }
        }
        return true;
    }  
}      

🍚總結