美文网首页
28.Implement strStr

28.Implement strStr

作者: 花落花开花满天 | 来源:发表于2018-10-27 22:17 被阅读0次

    查找子串

    注意特殊情况:子串全部等于母串,返回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;

    }

    相关文章

      网友评论

          本文标题:28.Implement strStr

          本文链接:https://www.haomeiwen.com/subject/xgjjtqtx.html