主题切换
LeetCode 每日一题笔记
0. 前言
- 日期:2025.11.18
- 题目:717. 1比特与2比特字符
- 难度:简单
- 标签: 数组
1. 题目理解
问题描述:
有两种特殊字符:
第一种字符可以用一比特 0 表示 第二种字符可以用两比特(10 或 11)表示 给你一个以 0 结尾的二进制数组 bits ,如果最后一个字符必须是一个一比特字符,则返回 true 。
示例:
示例 1: 输入: bits = [1, 0, 0] 输出: true 解释: 唯一的解码方式是将其解析为一个两比特字符和一个一比特字符。 所以最后一个字符是一比特字符。
2. 解题思路
核心观察
算法步骤
3. 代码实现
java
class lc3600_lc3699.lc3660.Solution {
public boolean isOneBitCharacter(int[] bits) {
int n= bits.length;
if(bits[n-1]!=0){
return false;
}
int flag=0;
for(int i=0;i<n-1;i++){
if(bits[i]==1){
if(i==n-2){flag=1;}
i++;
continue;
}
}
if(flag==1){return false;}
return true;
}
}