1. 程式人生 > >Leetcode717.1-bit and 2-bit Characters1位元與2位元字元

Leetcode717.1-bit and 2-bit Characters1位元與2位元字元

有兩種特殊字元。第一種字元可以用一位元0來表示。第二種字元可以用兩位元(10 或 11)來表示。

現給一個由若干位元組成的字串。問最後一個字元是否必定為一個一位元字元。給定的字串總是由0結束。

示例 1:

輸入: bits = [1, 0, 0] 輸出: True 解釋: 唯一的編碼方式是一個兩位元字元和一個一位元字元。所以最後一個字元是一位元字元。

示例 2:

輸入: bits = [1, 1, 1, 0] 輸出: False 解釋: 唯一的編碼方式是兩位元字元和兩位元字元。所以最後一個字元不是一位元字元。

注意:

  • 1 <= len(bits) <= 1000.
  • bits[i] 總是0 或 1.

 

 

class Solution {
public:
    bool isOneBitCharacter(vector<int>& bits) {
        int len = bits.size();
        for(int i = 0; i < len - 1; i++)
        {
            if(bits[i] == 0)
                continue;
            if(bits[i] == 1)
            {
                if(i + 1 >= len - 1)
                    return false;
                else
                    i++;
            }
        }
        return true;
    }
};