解法
注意 : 题目保证以 0 结尾
从左到右遍历 bits[i]
:
- 遇到
bits[i] = 0
,说明遇到第一种字符,i++ - 遇到
bits[i] = 1
,说明遇到第二种字符,i+2
i++ 和 i+2 可以简化为 : i += bits[i] + 1
遍历结束将 i
和 len(bits)-1
比较,若相等就是唯一编码
代码
func isOneBitCharacter(bits []int) bool {
i := 0
for i < len(bits)-1 {
i += bits[i] + 1
}
return i == len(bits)-1
}