题目链接:Leetcode 35
大致描述一下题目:
给定一个排序数组和一个目标值,返回该值在数组中的位置,如果数组中没有该值,则返回顺序插入的位置。
解题思路:
很简单,就是遍历数组,判断是否相等,还有前一个元素是否小于并且后一个元素是否大于。注意好边界值,即首元素和最后一个元素与目标值的比较。
代码如下:
/******************************************************************************* Copyright © 2018-20xx Qiao Chuncheng, All Rights Reserved. File name: 035[搜索插入位置].cpp Author: Qiao Chuncheng Version: v1.0 Date: 2018-04-16 *******************************************************************************/ class Solution { public: int searchInsert(vector<int>& nums, int target) { for (int i = 0; i < nums.size(); i++) { if (nums[i] == target) return i; if (nums[i]<target && nums[i + 1]>target) { return i + 1; } } if (nums[0] > target) return 0; if (nums[nums.size() - 1] < target) return nums.size(); return -1; } };