Search Insert Position

class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int left=0;
        int right=nums.size()-1;
        int mid; 

        if(nums.size()==0) return 0;
          
        while(left < right){
        mid = (left + right)/2;
        if(nums[mid] == target) return mid;
        else if(nums[mid] < target) left = mid+1;
        else right = mid-1;
        }
        //循环的出口是left = right
        if(target <= nums[left]) return left;  //排在当前元素的位置
        else   return left+1;   //排在当前元素之后
        
    }
};

 

posted @ 2015-08-02 21:36  *桔子*  阅读(150)  评论(0编辑  收藏  举报