Skip to content

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;
    }
}

4. 代码优化说明 ​

5. 复杂度分析 ​

6. 总结 ​

Powered by VitePress 1.6.4 | 持续更新中