1. 程式人生 > >#717 1bit and 2 bit

#717 1bit and 2 bit

else if bit and [] urn else 過去 class 步驟

/*
  總體思路是在遍歷的過程中檢查
    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;
    }
}

#717 1bit and 2 bit