题目链接
指针
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);
}
};