标签:不为 tchar lse while 17. its += char 扫描
1 static int wing=[]() 2 { 3 std::ios::sync_with_stdio(false); 4 cin.tie(NULL); 5 return 0; 6 }(); 7 8 class Solution 9 { 10 public: 11 bool isOneBitCharacter(vector<int>& bits) 12 { 13 int sz=bits.size(); 14 int i=0; 15 while(i<sz-1) 16 { 17 if(bits[i]==1) 18 i+=2; 19 else 20 i+=1; 21 } 22 return i==sz-1; 23 } 24 };
这个题,从前向后扫,只要当前位为1,则不用管下一位是啥,必然要构成2位,所以当前位为1时,直接跳至下下个位置。
只有当末尾0前面有个落单的1时,末尾才不能为单,此时扫描到那个1的时候,加上2,i变为了sz
当末尾0前面不为非规则数字,i 必然不会跳过最后的0,会指向那个0,即i==sz-1
717. 1-bit and 2-bit Characters
标签:不为 tchar lse while 17. its += char 扫描
原文地址:https://www.cnblogs.com/zhuangbijingdeboke/p/9164035.html