leecode-35. 搜索插入位置

int searchInsert(int* nums, int numsSize, int target){ if(numsSize == 0) return 0; int start = 0,end = numsSize - 1,medium = 0; //二分查找 while(start <= end) { //medium = (start + end)/2 可能会溢出 medium = start + (end - start)/2; if( target == nums[medium]) return medium; else if( target > nums[medium]) start = medium + 1; else if( target < nums[medium]) end = medium - 1; } return target < nums[medium]? medium:medium+1; }

问题1: 对于最后一行return返回值没有按条件进行区别
【leecode-35. 搜索插入位置】问题2: 一开始写的取中值式子 medium = (start + end)/2 可能会溢出,start + end 可能会超出整数范围。

    推荐阅读