关闭

LeetCode---Implement strStr()

标签: leetcodestring
96人阅读 评论(0) 收藏 举报
分类:

题目大意:实现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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:41351次
    • 积分:2277
    • 等级:
    • 排名:第16566名
    • 原创:194篇
    • 转载:6篇
    • 译文:0篇
    • 评论:5条
    最新评论