码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode第27题--Implement strStr()

时间:2014-10-21 00:54:00      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   ar   for   sp   div   on   

Implement strStr().

Returns a pointer to the first occurrence of needle in haystack, or null if needle is not part of haystack.

就是判断haystack中是否有needle,如果包含的话,返回第一次包含的地址。如果没有则返回NULL。

这题官网打出来的是easy,但是要做好绝不简单。我能想到的就是O(m*n)的复杂度了。最经典的是用KMP算法。

class Solution {

public:
    char *strStr(char *haystack, char *needle) 
    {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        int lena = strlen(haystack);
        int lenb = strlen(needle);
        if(lena < lenb)
            return NULL;
        if(lena == lenb)
        {
            if(strcmp(haystack, needle)==0)
                return haystack;
            return NULL;
        }
        for(int i=0; i<=lena-lenb; i++)
        {
            bool flag = true;
            for(int j=0; j<lenb; j++)
            {
                if(haystack[i+j] != needle[j])
                {
                    flag = false;
                    break;
                }
            }
            if(flag)
                return haystack + i;
        }
        return NULL;
    }
};

 

leetcode第27题--Implement strStr()

标签:style   blog   color   io   ar   for   sp   div   on   

原文地址:http://www.cnblogs.com/higerzhang/p/4039281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!