有兩種特殊字符。第一種字符可以用一比特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(object): def isOneBitCharacter(self, bits): """ :type bits: List[int] :rtype: bool """ # 遇1進二直接跳到下一個數,判斷最后是否指向最后一個元素 i = 0 while i < len(bits): if i == len(bits)-1: return True elif bits[i] == 1: i += 2 else: i += 1 return False
