leetcode 717. 1比特與2比特字符(1-bit and 2-bit Characters)
阿新 • • 發佈:2019-03-27
++ class else 題目 pre () bool div 編碼
目錄
- 題目描述:
- 示例 1:
- 示例 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 sz = bits.size(); int i = 0; while(i < sz-1){ if(bits[i] == 1){ i += 2; }else{ i++; } } return i == sz-1; } };
leetcode 717. 1比特與2比特字符(1-bit and 2-bit Characters)