假设left指针指向第1个版本。 而right指针指向第n个(最后一个)版本。 取left与right指针的中间版本id版本。 如果id版本是坏的,有一个问题值得注意: 它有可能是第一个坏的版本,我们无法确定。 所以将right指针指向id版本。 相当于在右边缩小区间。 而如果id版本是好的,说明一个问题: 第一个坏的版本肯定是在id版本的右侧。 所以将left指针指向id1的版本。 相当于在左边缩小区间。 在left和right做出改变后,继续分析id版本。