int searchInsert(int *nums, int numsSize, int target)
{
int low = 0, high = numsSize - 1, mid;
while (low <= high)
{
mid = low + (high - low) / 2;
if (target > nums[mid])
low = mid + 1;
else if (target < nums[mid])
high = mid - 1;
else
return mid;
}
return low;
}
/* Recursive version */
int searchInsert(int *nums, int numsSize, int target)
{
int idx = numsSize - 1;
if (numsSize > 0)
{
if (target > nums[idx])
{
return numsSize;
}
return searchInsert(nums, numsSize - 1, target);
}
return 0;
}