LeetCode---Implement strStr()

来源:互联网 发布:csgo fps优化 编辑:程序博客网 时间:2024/06/03 15:07

题目大意:实现strstr()函数,即给出两个串判断一个串是否是另一个串的子串,如果是返回第一次出现的索引,如果不是返回-1;

算法思想:

法一:用str.find().

法二:暴力匹配:

遍历主串的每一位,将其当做子串的起始位判断其开始且后序的字符和字串是否相等,如果全部相等则返回主串当前的位置,如果不全相等则进行下一个起始位的比较。主串遍历完时返回-1;

代码如下:

class Solution {public:    int strStr(string haystack, string needle) {       if(needle.length()==0) return 0;       int j;       for(int i=0;i<=(int)(haystack.length()-needle.length());++i){           for(j=0;j<needle.length();++j){               if(haystack[i+j]!=needle[j])                  break;           }           if(j==needle.length())               return i;       }       return -1;    }};


0 0
原创粉丝点击