35. Search Insert Position

来源:互联网 发布:淘宝运费价格表监控 编辑:程序博客网 时间:2024/05/29 16:40

这道题目属于easy类型的,想法也比较简单,就是利用二分查找进行目标查询,代码如下:

public int searchInsert(int[] nums, int target) {
        // 特殊情况处理
        if(nums == null || nums.length == 0){
            return -1;
        }
        // 进行二分查找
        int left = 0, right = nums.length - 1;
        while(left < right){
            int mid = (left + right) / 2;
            if(target == nums[mid]){
                return mid;
            }else if(target > nums[mid]){
                left = mid + 1;
            }else{
                right = mid - 1;
            }
        }
        
        if(nums[left] == target){
            return left;
        }else if(nums[left] < target){
            return left + 1;
        }else{
            return left;
        }
    }

0 0