/*
  总体思路是在遍历的过程中检查
    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;
    }
}

版权声明:本文为youngerX原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/youngerX/p/10287084.html