# 717.1 Bit and 2 Bit Characters

**717.1 Bit and 2 Bit Characters**

难度:Easy

> 有两种特殊字符。第一种字符可以用一比特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.
```

直接遍歷一遍，當遇到1開頭的前進兩步，遇到0則前進一步，看最後終止的時候在哪來判斷最後一位是否爲1比特。

```
class Solution {
public:
    bool isOneBitCharacter(vector<int>& bits) {
        int start=0;
        while(start<bits.size()-1)
        {
            if(bits[start]) start+=2;
            else start+=1;
        }
        return start==bits.size()-1;
    }
};
```

> 执行用时 :4 ms, 在所有 C++ 提交中击败了95.56%的用户\
> 内存消耗 :8.8 MB, 在所有 C++ 提交中击败了72.51%的用户


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dfine.gitbook.io/leetcode/717.1_bit_and_2_bit_characters.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
