717. 1-bit and 2-bit Characters 1、2位字符

来源:互联网 发布:碑文 软件 编辑:程序博客网 时间:2024/05/21 18:37

We have two special characters. The first character can be represented by one bit0. The second character can be represented by two bits (10 or11).

Now given a string represented by several bits. Return whether the last character must be a one-bit character or not. The given string will always end with a zero.

Example 1:

Input: bits = [1, 0, 0]Output: TrueExplanation: 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: FalseExplanation: The only way to decode it is two-bit character and two-bit character. So the last character is NOT one-bit character.

Note:

  • 1 <= len(bits) <= 1000.
  • bits[i] is always 0 or 1.

    class Solution {    public boolean isOneBitCharacter(int[] bits) {        if(bits==null||bits[bits.length-1]!=0)return false;        int n=bits.length;        int i=0;        while(i<n-1){            if(bits[i]==0)i++;            else i=i+2;        }        return i==n-1;    }}

    题目解释:就是最后的一个必须是一位,只要遇到1就表示必然是两位挨着的,如11和10都符合2字符要求

  • 原创粉丝点击