Leetcode717.1-bit and 2-bit Characters1位元與2位元字元
阿新 • • 發佈:2018-11-09
有兩種特殊字元。第一種字元可以用一位元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; } };