找规律
编码
717. 1 比特与 2 比特字符 easy
有两种特殊字符:
- 第一种字符可以用一比特 0 表示
- 第二种字符可以用两比特(10 或 11)表示
给你一个以 0 结尾的二进制数组 bits,如果最后一个字符必须是一个一比特字符,则返回 true。
如果有 0 一定是断点; 求尾部 [:n-1] 连续 1 的个数, 奇数就是 false
java
class Solution {
public boolean isOneBitCharacter(int[] bits) {
int n = bits.length;
if (bits[n - 1] == 1) return false;
int cnt = 0;
for (int i = n - 2; i >= 0 && bits[i] == 1; i--) {
cnt++;
}
return (cnt & 1) == 0;
}
}