题目描述:
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int nLeft = 0;
int nRight = nums.size() - 1;
int nMid = -1;
while(nLeft <= nRight)
{
nMid = nLeft + (nRight - nLeft) / 2;
if(nums[nMid] == target)
{
return nMid;
}
else if(nums[nMid] > target)
{
nRight = nMid - 1;
}
else{
nLeft = nMid + 1;
}
}
return nLeft;
}
};