Leetcode 717: 1-bit and 2-bit Characters
Posted Keep walking
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
.
1 public class Solution { 2 public bool IsOneBitCharacter(int[] bits) { 3 // Optimization: if the last bit is not 0, return false immediately 4 if (bits[bits.Length - 1] != 0) return false; 5 6 int i = 0; 7 while (i < bits.Length) 8 { 9 if (bits[i] == 1) 10 { 11 i += 2; 12 } 13 else if (i == bits.Length - 1) 14 { 15 return true; 16 } 17 else 18 { 19 i++; 20 } 21 } 22 23 return false; 24 } 25 26 }
以上是关于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