Easy
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: The only way to decode it is two-bit character and one-bit character. So the last character is one-bit character.
Example 2:
Input: bits = [1,1,1,0]
Output: false
Explanation: The only way to decode it is two-bit character and two-bit character. So the last character is not one-bit character.
Constraints:
1 <= bits.length <= 1000bits[i] is either 0 or 1.class Solution {
fun isOneBitCharacter(arr: IntArray): Boolean {
var i = 0
while (i < arr.size - 1) {
i = if (arr[i] == 1) i + 2 else i + 1
}
return i == arr.size - 1
}
}