这个题目不难,也是应用二分法查找。但是细节的地方还是需要注意
尤其最后返回的是L,或者r+1,因为在r<l的时候跳出了循环,而此时l所占的位置就是目标位置
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int l=0;int r=nums.size()-1;
while(l<=r){
int mid = (l+r)/2;
if(nums[mid]==target) return mid;
if(nums[mid]>target){
r=mid-1;
}
else if(nums[mid]<target){
l=mid+1;
}
}
return l;//返回l的位置
}
};