题目:给定一个排序数组和一个目标值,如果找到目标,返回索引。如果没有,返回按顺序插入的索引所在的位置。
eg.Input: [1,3,5,6], 5 Output: 2
Input: [1,3,5,6], 2 Output: 1
Input: [1,3,5,6], 7 Output: 4
Input: [1,3,5,6], 0 Output: 0
注意:需要考虑不同情况
class Solution {
public int searchInsert(int[] nums, int target) {
if(nums[0]>target)
return 0;
if(nums[nums.length-1]<target)
return nums.length;
if(nums[nums.length-1]==target)
return nums.length-1;
int flag=0;
int i=0;
for(i=0;i<nums.length-1;i++){
if(nums[i]==target){
flag=1;
break;
}
if(nums[i]<target&&nums[i+1]>target){
flag=0;
break;
}
}
if(flag==1)
return i;
else
return i+1;
}
}