Recursive
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
if(nums.empty()) return 0;
return helper(nums,target,0,nums.size()-1);
}
int helper(vector<int>& nums, int target,int l,int r){
int m = (l+r)/2;
if(target==nums[m])
return m;
else if(target>nums[m])
return r>m? helper(nums,target,m+1,r): r+1;
else
return l<m?helper(nums,target,l,m-1):l;
}
};
Last updated
Was this helpful?