🍁 作者:知識淺談,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;
}
}