717.1比特与2比特字符

题目:[https://leetcode-cn.com/problems/1-bit-and-2-bit-characters/description/]
思路:编码问题。给定一个串二进制位,判断最后一个字符是1比特字符还是2比特字符。考虑实际解码过程,01序列由0,11,10构成。遍历序列,如果第一个数为0,则代表为1比特字符,解析本字符。如果为1则代表为2比特字符,解析本字符和下一个字符。故对于本题来说,直接模拟解析,判队最后位即可
代码

class Solution {
public:
    bool isOneBitCharacter(vector<int>& bits) {//从头解码,判断最后落点
        int len=bits.size(),i=0;
        while (i<len-1) {//最后一位为len-1
            if (bits[i]==0) {
                ++i;
            }
            else i+=2;
        }
        return i==len-1;//在最后点上为,最后一位为1比特,超过则为2比特
    }
};
posted @ 2018-09-19 13:30  Kipper  阅读(149)  评论(0编辑  收藏  举报