LeetCode 28 Implement strStr()(实现strStr()函数)

翻译

实现strStr()函数。

返回针(needle)在草垛/针垛(haystack)上第一次出现的索引, 如果不存在其中则返回-1。

其实也就是说字符串str2在字符串str1中第一次出现的索引而已。

原文

Implement strStr().

Returns the index of the first occurrence of needle in haystack,
or -1 if needle is not part of haystack.

代码

class Solution {
public:
    bool compare(string s1, int index, string s2) {
        int count = 0;
        for (int i = 0; i < s2.length(); i++) {
            if (s2[i] == s1[i + index])
                count++;
        }
        if (count == s2.length())
            return true;
        return false;
    }
    int strStr(string haystack, string needle) {
        for (int i = 0; i < haystack.length(); i++) {
            if (haystack[i] == needle[0]) {
                if (compare(haystack, i, needle))
                    return i;
            }
        }
        return -1;
    }
};

发现超时了……其实在测试之前就看到了别人的答案……惊呆了……这样都可以?

 class Solution {
    public:
        int strStr(string haystack, string needle) {

            return haystack.find(needle);

        }
    };

也算是长见识了……

时间: 2024-10-09 04:37:41

LeetCode 28 Implement strStr()(实现strStr()函数)的相关文章

[LeetCode]28.Implement strStr()

[题目] Implement strStr(). Returns a pointer to the first occurrence of needle in haystack, or null if needle is not part of haystack. [题意] 实现strStr()功能. [分析] 暴力算法代码如下.更高效的的算法有 KMP 算法.Boyer-Mooer 算法和Rabin-Karp 算法.面试中暴力算法足够了. 具体参考:KMP字符串模式匹配详解 [代码] /***

php Warning:strstr()[function.strstr]:Empty delimiter

Warning: strstr() [function.strstr]: Empty delimiter 非常奇怪,难道php函数strstr的某个参数出问题了? 于是写了个测试的例子  代码如下 复制代码 <?php $text="asdfghjklqwertyuiopzxcvbnm"; //$key="g"; //根据php错误提示Empty delimiter,判断应该不会是$text的值出问题,所以故意注释了key值 if(strstr($text,

[LeetCode]232.Implement Queue using Stacks

题目 Implement the following operations of a queue using stacks. push(x) – Push element x to the back of queue. pop() – Removes the element from in front of queue. peek() – Get the front element. empty() – Return whether the queue is empty. Notes: You

&lt;font color=&quot;red&quot;&gt;[置顶]&lt;/font&gt;

Profile Introduction to Blog 您能看到这篇博客导读是我的荣幸,本博客会持续更新,感谢您的支持,欢迎您的关注与留言.博客有多个专栏,分别是关于 Windows App开发 . UWP(通用Windows平台)开发 . SICP习题解 和 Scheme语言学习 . 算法解析 与 LeetCode等题解 . Android应用开发 ,而最近会添加的文章将主要是算法和Android,不过其它内容也会继续完善. About the Author 独立 Windows App 和

PHP中strpos、strstr和stripos、stristr函数分析_php技巧

本文为大家分析了 PHP中strpos.strstr和stripos.stristr函数,供大家参考,具体内容如下 strpos mixed strpos ( string $haystack, mixed $needle [, int $offset = 0 ] ) 如果offset指定了,查找会从offset的位置开始.offset不能为负数. 返回needle第一次出现在haystack的位置.如果在haystack中找不到needle,则返回FALSE. needle,如果needle不

strchr和strstr函数

函数名: strchr 功 能: 在一个串中查找给定字符的第一个匹配之处\ 用 法: char *strchr(char *str, char c); #include <string.h> #include <stdio.h> int main(void) { char string[15]; char *ptr, c = 'i'; strcpy(string, "This is a string"); ptr = strchr(string, c); if

leetcode难度及面试频率

转载自:LeetCode Question Difficulty Distribution               1 Two Sum 2 5 array sort         set Two Pointers 2 Add Two Numbers 3 4 linked list Two Pointers           Math 3 Longest Substring Without Repeating Characters 3 2 string Two Pointers      

LeetCode All in One 题目讲解汇总(持续更新中...)

终于将LeetCode的免费题刷完了,真是漫长的第一遍啊,估计很多题都忘的差不多了,这次开个题目汇总贴,并附上每道题目的解题连接,方便之后查阅吧~ 如果各位看官们,大神们发现了任何错误,或是代码无法通过OJ,或是有更好的解法,或是有任何疑问,意见和建议的话,请一定要在对应的帖子下面评论区留言告知博主啊,多谢多谢,祝大家刷得愉快,刷得精彩,刷出美好未来- 博主制作了一款iOS的应用"Leetcode Meet Me",里面有Leetcode上所有的题目,并且贴上了博主的解法,随时随地都能

基于php常用函数总结(数组,字符串,时间,文件操作)

数组:[重点1]implode(分隔,arr) 把数组值数据按指定字符连接起来 例如: $arr=array('1','2','3','4'); $str=implode('-',$arr); explode([分隔],arr)按指定规则对一个字符串进行分割,返回值为数组 别名join array_merge()合并一个或多个数组 array_combine(array keys, array values) 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 例如: $a = ar