LeetCode28. 实现 strStr()

news/2024/7/5 5:17:55

难度:简单
题目描述:

实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle
字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。

说明:

当 needle 是空字符串时,我们应当返回什么值呢?
这是一个在面试中很好的问题。 对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf() 定义相符。

示例 1:

输入:haystack = “hello”, needle = “ll”
输出:2

示例 2:

输入:haystack = “aaaaa”, needle = “bba”
输出:-1

示例 3:

输入:haystack = “”, needle = “”
输出:0

提示:

0 <= haystack.length, needle.length <= 5 * 104
haystack 和 needle 仅由小写英文字符组成

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

http://www.niftyadmin.cn/n/4137516.html

相关文章

C#基础加强_ArrayList基本原理

小弟初写博文&#xff0c;深感“易敲千行码&#xff0c;难下百余文”的道理。 内容粗略浅薄&#xff0c;望各位大神海涵&#xff01; 数组是包含若干相同类型变量&#xff0c;这些变量都可以通过索引进行访问。它在内存中是一串连续的空间&#xff0c;所以长度一旦确定就不能再…

LeetCode300. 最长递增子序列【动态规划】

难度&#xff1a;中等 题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组[…

Day2 数据类型、数据运算、数据字典

1.数字&#xff1a;int&#xff08;整型&#xff09; 32位机器&#xff1a;-2**31~2**31-1 64位机器&#xff1a;-2**63~2**63-1 float&#xff08;浮点型&#xff09; 2.布尔值 真或假 1或0 bool(0) 3.字符串 name “wanghuafeng” print(“my name is ” name “and you?”…

用Lucene实现分组,facet功能,FieldCache

假如你像用lucene来作分组&#xff0c;比如按类别分组&#xff0c;这种功能&#xff0c;好了你压力大了&#xff0c;lucene本身是不支持分组的。 当你想要这个功能的时候&#xff0c;就可能会用到基于lucene的搜索引擎solr。 不过也可以通过编码通过FieldCache和单字段&#xf…

I.MX6 wpa_supplicant_8 编译问题

/************************************************************************* I.MX6 wpa_supplicant_8 编译问题* 说明&#xff1a;* 在移植wifi过程中&#xff0c;要编译wpa_supplicant_8这个模块&#xff0c;记录一下问题。** …

LeetCode206. 反转链表

难度&#xff1a;简单 题目描述&#xff1a; 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr)…

SQL Server中一个隐性的IO性能杀手-Forwarded record

SQL Server中一个隐性的IO性能杀手-Forwarded record 原文:SQL Server中一个隐性的IO性能杀手-Forwarded record简介 最近在一个客户那里注意到一个计数器很高&#xff08;Forwarded Records/Sec&#xff09;&#xff0c;伴随着间歇性的磁盘等待队列的波动。本篇文章分享什么是…

reactjs学习笔记2--组件的介绍

什么是组件 组件就像是乐高积木&#xff0c;一个完整的房子&#xff0c;可以由砖头一块一块的组成&#xff0c;一块砖头&#xff0c;就可以称为一个组件。 如何创建组件 调用 React.createClass 方法&#xff0c;传入的参数为一个对象&#xff0c;对象必须定义一个 render 方法…