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返回值没有按条件进行区别

问题2: 一开始写的取中值式子 medium = (start + end)/2 可能会溢出,start + end 可能会超出整数范围。

你可能感兴趣的:(leecode)