We have two special characters:
0.10 or 11).Given a binary array bits that ends with 0, return true if the last character must be a one-bit character.
Example 1:
Input: bits = [1,0,0]
Output: true
Explanation:
Example 2:
Input: bits = [1,1,1,0]
Output: false
Explanation:
Constraints:
1 <= bits.length <= 1000
bits[i] is either 0 or 1.
Thought:
走两步 or 走一步 ?
AC
/*
* @lc app=leetcode.cn id=717 lang=cpp
*
* [717] 1 比特与 2 比特字符
*/
// @lc code=start
class Solution {
public:
bool isOneBitCharacter(vector<int>& bits) {
const int N = bits.size();
int pos = 0;
while (pos < N - 1) {
pos += bits[pos] == 1 ? 2 : 1;
}
return pos == N - 1;
}
};
// @lc code=end


