1: class Solution {
2: public:
3: bool validUtf8(vector<int>& data) {
4: int c = 0;
5: for (int d : data) {
6: if (c == 0) {
7: if ((d >> 7) == 0) c = 0;
8: else if ((d >> 5) == 0b110) c = 1;
9: else if ((d >> 4) == 0b1110) c = 2;
10: else if ((d >> 3) == 0b11110) c = 3;
11: else return false;
12: } else {
13: if ((d >> 6) != 0b10) return false;
14: c--;
15: }
16: }
17: return c == 0;
18: }
19: };
Thursday, October 6, 2016
393. UTF-8 Validation
The idea is count bytes first and validate the following bytes.
Labels:
bit manipulation,
google,
leetcode
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment