Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - C++ - 393. UTF-8 Validation
題目:

解答:
class Solution {
public:
bool validUtf8(vector<int>& data) {
int remain = 0;
for (int n : data) {
if (remain == 0) {
if ((n & 0xf8) == 0xf0) {
remain = 3;
}
else if ((n & 0xf0) == 0xe0) {
remain = 2;
}
else if ((n & 0xe0) == 0xc0) {
remain = 1;
}
else if ((n & 0x80) == 0x00) {
remain = 0;
}
else {
return false;
}
}
else {
if ((n & 0xc0) != 0x80) {
return false;
}
remain -= 1;
}
}
return remain == 0;
}
};