LeetCode 717. 1-bit and 2-bit Characters
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 717. 1-bit and 2-bit Characters相关的知识,希望对你有一定的参考价值。
We have two special characters. The first character can be represented by one bit 0
. The second character can be represented by two bits (10
or 11
).
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: 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.
Note:
1 <= len(bits) <= 1000
.bits[i]
is always0
or1
.
在这道题中,给定了两类特殊字符,一类是一位字符:0;一类是两位字符:10或11.
现给了一个由0和1组成的、且最后一位是0的数组,判断能否将其正确分割,且最后一位是单个字符0.
思路:如果出现1,则必须跟后面的0或1组成一个两位字符。因此从前往后遍历,如果bits[i] = 1,则将bits[i + 1]改为1;循环结束后,如果数组最后一位是1,则一定是一个两位字符,如果是0,则是一个一位字符。具体代码如下:
public class Solution { public boolean isOneBitCharacter(int[] bits){ for(int i = 0; i < bits.length - 1; i++){ if(bits[i] == 1){ bits[i + 1] = 1; i++; } } return bits[bits.length - 1] == 0; }
以上是关于LeetCode 717. 1-bit and 2-bit Characters的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 717. 1-bit and 2-bit Characters
leetcode-717-1-bit and 2-bit Characters
LeetCode #717. 1-bit and 2-bit Characters
717. 1-bit and 2-bit Characters