leetcode-daily/old/golang/2202/220220-CN.go

28 lines
460 B
Go

package main
import "fmt"
func isOneBitCharacter(bits []int) bool {
var n = len(bits)
if n == 1 || bits[n-2] == 0 {
return true
}
// try applying codes from front to rear
vis := make([]bool, n)
vis[0] = true
for i := 0; i < n-2; i++ {
if !vis[i] {
continue
} else if bits[i] == 0 {
vis[1+i] = true
} else { // bits[i] == 1
vis[2+i] = true
}
}
return !vis[n-2]
}
func main() {
fmt.Println(isOneBitCharacter([]int{1, 1, 1, 0}))
}