1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| class Solution { public: int searchInsert(vector<int> &nums, int target) { return binarySearch(nums, 0, nums.size() - 1, target); } int binarySearch(vector<int> nums, int left, int right, int target) { if (left > right) { return left; } int mid = (left + right) / 2; if (nums[mid] == target) { return mid; } else if (nums[mid] > target) { return binarySearch(nums, left, mid - 1, target); } else { return binarySearch(nums, mid + 1, right, target); } } };
|