0717 1-bit and 2-bit Characters


解法

注意 : 题目保证以 0 结尾
从左到右遍历 bits[i] :

  • 遇到 bits[i] = 0,说明遇到第一种字符,i++
  • 遇到 bits[i] = 1,说明遇到第二种字符,i+2

i++ 和 i+2 可以简化为 : i += bits[i] + 1

遍历结束将 ilen(bits)-1 比较,若相等就是唯一编码

代码

func isOneBitCharacter(bits []int) bool {
    i := 0
    for i < len(bits)-1 {
        i += bits[i] + 1
    }
    return i == len(bits)-1
}

发表评论