393. UTF-8 Validation

来源:互联网 发布:block matching算法 编辑:程序博客网 时间:2024/04/30 09:11

细节题

class Solution {public:    int cal(int num)    {        int temp=7;        while((num&(1<<temp))!=0)            temp--;        return 7-temp;    }    bool validUtf8(vector<int>& data) {        if(data.size()==0)            return true;        int start=0;        while(start<data.size())        {            int oneNum=cal(data[start]);            if(oneNum==0)                start++;            else if(oneNum==1||oneNum>4)                return false;            else//oneNum=2,3,4            {                start++;                int i=0;                for(i=0;i<oneNum-1;i++)                {                    if(start>=data.size()||cal(data[start++])!=1)                        break;                }                if(i<oneNum-1)                    return false;            }        }        return true;    }};
0 0
原创粉丝点击