✅力扣原题:

​力扣链接:717. 1比特与2比特字符

✅题目简述:

有两种特殊字符:

  • 第一种字符可以用一个比特 0 来表示
  • 第二种字符可以用两个比特(10 或 11)来表示、
    给定一个以 0 结尾的二进制数组 bits ,如果最后一个字符必须是一位字符,则返回 true 。

✅解题思路:

1.遍历模拟,模拟前n个数;
2.遇到0就走1步;遇到其他的就走2步;
3.最后看是否落在n-1的索引上;
4.over;

✅C++代码:

class Solution {
public:
bool isOneBitCharacter(vector<int>& bits) {
int n = bits.size();

int i = 0;
for(i = 0; i < n - 1; )
{
if(bits[i] == 0)
{
i++;
}
else
{
i += 2;
}
}

return i == (n - 1);
}
};

✅结果展示:

「 每日一练,快乐水题 」717. 1比特与2比特字符_特殊字符