思路:使用二分查找法。左下标为left,右下标为right,那么取中间下表就用mid=(left+righ)/2,循环判断nums[mid] 与 target的大小,如果nums[mid] > target,就将右坐标right取mid - 1;如果nums[mid] < target,就将左坐标left取mid + 1,当nums[mid] == target,就返回mid,如果,前面不出现就说明这个值不存在,然后去返回它将会被按顺序插入的位置,就是当left > right 就返回left,left就是它将会被按顺序插入的位置
int searchInsert(int* nums, int numsSize, int target){
int left = 0;
int right = numsSize - 1;
int mid = 0;
int ret = -1;
for (int i = 0; i < numsSize; i++) {
mid = (left + right) / 2;
if (nums[mid] == target) {
ret = mid;
break;
} else if (nums[mid] > target) {
right = mid - 1;
} else if (nums[mid] < target) {
left = mid + 1;
}
if (left > right) {
ret = left;
break;
}
}
return ret;
}