From Leetcode & 九章算法:
这题最难的是如何理解题目。。题目其实讲的不是特别清楚。
可以用binary 0b110表示这个点被我忘了。。 start的意思也是花了很多时间搞懂。因为input array 未必只有三位数。假设11110前缀情况,我们要check后面3个数是不是01, 01, 01开头。 这种情况下我们已经看了4个数了包括第一个11110,所以跳到第五个数去。
照着这个算法实现了一遍, 中间犯的小错在对num ==0的判断上。我一开始写的是if (num ==0) continue. 但是其实是first bit 为0就continue。包括了0以及first bit =0,后面不等0的情况。