刷leetcode-day8

一、题目:

28. 实现strStr()函数

给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。

示例1:

示例2:

二、思路:

遍历haystack字符串,看是否存在needle[0]这个字符,若存在,再检测之后的needle.size()-1个字符是否与needle完全相同,若相同,则返回needle[0]的位置。

三、代码(C++):

 int strStr(string haystack, string needle) {
        int k=0;
        if(needle=="")
            return 0;
        for(int i=0;i!=haystack.size();i++)
        {
            if(haystack[i]==needle[0])
            {
                for(int j=i;j!=(i+needle.size());j++)
                {
                    if(haystack[j]!=needle[j-i])
                        break;
                    if(j==(i+needle.size()-1))
                        return i;
                }
            }
        }
        return -1;
    }

四、扩展:

strstr(a,b)函数,检测字符串b是否是字符串a的字串,若是,返回b出现的第一个位置的地址。

全部评论

相关推荐

投递京东等公司10个岗位
点赞 评论 收藏
分享
学一下吧现在太菜了:和简历没关系,你是清华的他就要了。多投投就行了
点赞 评论 收藏
分享
07-20 21:57
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务