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 | 持续更新中