1.实现 strStr() 函数。
给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。
思路:暴力遍历。从母串的第一个字符串开始遍历,到haystack.size-needle.size+1结束。
class Solution {
public:
int strStr(string haystack, string needle) {
int m = needle.size();
int n = haystack.size();
if(needle.empty())
return 0;
if(n < m)
return -1;
for(int i=0;i<n-m+1;i++)
{
int j;
for(j=0;j<m;j++)
{
if(haystack[i+j]!=needle[j])
break;
}
if(j == m)
return i;
}
return -1;
}
};
参考链接: https://leetcode-cn.com/problems/implement-strstr/
2. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
思路:暴力for循环遍历,大于等于目标值的则就返回对应下标。
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int n = nums.size();
int i;
for (i=0; i<n;i++)
{
if(nums[i]>=target)
return i;
}
return i;
}
};
参考链接:https://leetcode-cn.com/problems/search-insert-position/