LeetCode 35. 搜索插入位置
**题目描述:**升序数组nums中查找target,找到返回下标,找不到返回它按顺序插入的位置
文章讲解
**思路:**这道题与704的区别仅仅在于,不存在target时的处理(具体有三种情况,统一处理)
- target < nums[0],target 插入位置为 0
- target > nums[n - 1],target 插入位置为 n
- nums[x] < target < nums[x + 1],target 插入位置为 x
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int left = 0, right = nums.size();
while(left < right) {
int middle = left + (right - left) / 2;
if(nums[middle] == target) {
return middle;
}
else if(nums[middle] > target) {
right = middle;
}
else {
left = middle + 1;
}
}
return left;
}
};