leetcode 搜索插入位置 java
为什么最后return 的是left
最后跳出循环时,left>right。在跳出循环前,left= mid=right。有两种情况:
mid>target
,right=mid-1
:target插入的是mid位置,即leftmid<target
,left=mid+1
:target插入的是mid+1位置,即left。
class Solution {public int searchInsert(int[] nums, int target) {int left = 0, right = nums.length - 1;while(left <= right) {int mid = (left + right) / 2;if(nums[mid] == target) {return mid;} else if(nums[mid] < target) {left = mid + 1;} else {right = mid - 1;}}return left;}
}作者:画手大鹏
链接:https://leetcode.cn/problems/search-insert-position/solutions/8017/hua-jie-suan-fa-35-sou-suo-cha-ru-wei-zhi-by-guanp/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。