LeetCode-in-Java

717. 1-bit and 2-bit Characters

Easy

We have two special characters:

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:

Solution

public class Solution {
    public boolean isOneBitCharacter(int[] arr) {
        int i = 0;
        while (i < arr.length - 1) {
            i = (arr[i] == 1) ? i + 2 : i + 1;
        }
        return (i == arr.length - 1);
    }
}