28.Implement strStr

查找子串

注意特殊情况:子串全部等于母串,返回0;子串为空或不存在返回-1;


#include <iostream>

#include <vector>

#include <map>

using namespace std;

int strStr(string haystack, string needle) {

    if(needle.length()==0 ||haystack==needle)

    {

        return 0;

    }

    if(haystack.length()<=needle.length())

    {

        return -1;

    }

    for(int i=0;i<haystack.length()-needle.length()+1;i++)

    {

        bool successFlag=true;

        for(int j=0;j<needle.length();j++)

        {

            cout<<haystack[i+j]<<" "<<needle[j]<<endl;

            if(haystack[i+j]!=needle[j])

            {

                successFlag=false;

                break;

            }

        }

        if(successFlag)

            return i;

    }

    return -1;

}

int main(int argc, const char * argv[]) {

    // insert code here...

    string haystack,needle;

    cin>>haystack;

    cin>>needle;

    cout<<strStr(haystack,needle)<<endl;

    return 0;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《金文诚〈孟子〉学习笔记725,尽心章14-17》 【孟子曰:"孔子之去鲁,曰:‘迟迟吾行也,去父母国之道也。’去...
    金吾生阅读 307评论 0 0
  • 3.1 环境和配置文件 实际情况中,不同的环境中所应使用的配置是不相同的。 3.1.1 配置配置文件Bean 是在...
    TheMrBigHead阅读 251评论 0 0
  • 序章 第五军团登场 第一章 寿阳府的后生 第二章 平叛第一战 且说小海跟胡诚两人跟过去后,封戚健等人便回去向高勇复...
    卫公子无忌阅读 402评论 13 6
  • 1. 第一次开发Java前需要做的步骤 a. 下载安装JDK(8)b. 配置环境变量c. 测试环境变量(执行jav...
    Y_Eric阅读 1,171评论 0 8