题意:判断数组的最后一位是不是必须由1bit 0转化过来。
思路:我们要看它双字节编码的特点。10,11这两种形式都是以1开头的。也就是说遇到1开头的形式,只能是这两种编码格式。所以,我们遇到1就跳两个元素,遇到0就跳一个元素。
代码:
class Solution {
public boolean isOneBitCharacter(int[] bits) {
int len=bits.length;
int i=0;
while(i<len){
if(bits[i]==1)
{
i+=2;
}
else{
if(i==len-1)
return true;
i++;
}
}
return false;
}
}