#717 1bit and 2 bit

/*
  总体思路是在遍历的过程中检查
    1. 检查是不是由1开头,如果是那必定属于第二类编码,就跳过两个字符不检查
    2. 检查是不是由0开头并且是不是最后一个结尾字符,如果是,那么这个字符串必定符合要求,否则就检查下个字符
    3. 重复上步骤,直到字符串检查完毕
    4. 如果检查完毕也没有检查到最后一个字符是0,那说明是由1开头把最后一个字符跳过去了,所以这并不符合要求,没有第二种情况
*/

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(bits[i] == 0 && i == len - 1)
                return true;
            else
                i++;
        }
        return false;
    }
}
posted @ 2019-01-18 12:41  youngerX  阅读(146)  评论(0)    收藏  举报