973. 1位跟2位字符
我们有两个特殊的字符。第一个字符可以用一位
0
来表示。第二个字符可以用两位(
10
或者
11
)表示。
现在给出一个字符串表示若干位。返回最后一个字符是否必定为一位字符。给出的字符串总是以 0 结尾。
样例
样例 1:
输入:
bits = [1, 0, 0]
输出: True
解释:
解码它的唯一方法是两位字符和一位字符。所以最后一个字符是一位字符。
样例 2:
输入:
bits = [1, 1, 1, 0]
输出: False
解释:
解码它的唯一方法是两位字符和两位字符。所以最后一个字符不是一位字符。
注意事项
1.
1 <= len(bits) <= 1000
.
2.
bits[i]
总是
0
or
1
.
public class Solution {
/**
* @param bits: a array represented by several bits.
* @return: whether the last character must be a one-bit character or not
*/
public boolean isOneBitCharacter(int[] bits) {
// Write your code here
boolean ret=false;
for (int i = 0; i < bits.length;) {
if (bits[i]==1){
i+=2;
ret=false;
}else {
i++;
ret=true;
}
}
return ret;
}
}