题目:
题解:
- class Solution:
- def validUtf8(self, data: List[int]) -> bool:
- MASK1, MASK2 = 1 << 7, (1 << 7) | (1 << 6)
- def getBytes(num: int) -> int:
- if (num & MASK1) == 0:
- return 1
- n, mask = 0, MASK1
- while num & mask:
- n += 1
- if n > 4:
- return -1
- mask >>= 1
- return n if n >= 2 else -1
- index, m = 0, len(data)
- while index < m:
- n = getBytes(data[index])
- if n < 0 or index + n > m or any((ch & MASK2) != MASK1 for ch in data[index + 1: index + n]):
- return False
- index += n
- return True
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |