剑指offer_53 0~n-1中缺失的数字
1 int missingNumber(int* nums, int numsSize){ 2 if(nums == NULL || numsSize <= 0) 3 return -1; 4 int left = 0; 5 int right = numsSize - 1; 6 while(left <= right){ 7 int middle = (right + left)/2; 8 if(nums[middle] !=middle){ 9 if(middle==0 || nums[middle-1] == middle -1){ 10 return middle;} 11 right = middle - 1; 12 13 } 14 else {left = middle + 1;} 15 } 16 if(left == numsSize) return numsSize; //注意星星 【1,2,3】 17 return -1; 18 }