题目链接
指针 i i i从 0 0 0开始往后走,如果当前位置的值为 0 0 0,则一定是第一种情况,指针向右移一位
如果说当前值为 1 1 1,则一定是第二种情况,指针向右移动两位,如果说最终 i = = b i t s . s i z e ( ) − 1 i == bits.size() - 1 i==bits.size()−1
那么说就是一个合法的
class Solution {
public:
bool isOneBitCharacter(vector<int>& bits) {
int i;
for(i = 0;i < bits.size() - 1;) {
i += bits[i] + 1;
}
return (i == bits.size() - 1);
}
};