首页 > 其他分享 >给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)

给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)

时间:2024-12-27 13:30:03浏览次数:8  
标签:下标 示例 int needle 字符串 haystack

如果 needle 不是 haystack 的一部分,则返回 -1

示例 1:

 

输入:haystack = "sadbutsad", needle = "sad"

输出:0

解释:"sad" 在下标 0 和 6 处匹配。

第一个匹配项的下标是 0 ,所以返回 0 。

示例 2:

 

输入:haystack = "leetcode", needle = "leeto"

输出:-1

解释:"leeto" 没有在 "leetcode" 中出现,所以返回 -1 。

class Solution {

public:

    int strStr(string haystack, string needle) {

       int m = haystack.size(), n =needle.size();

       for(int i = 0; i <= m - n; i++)

       {

        int j = 0;

        while(j < n && haystack[i+j] == needle[j])

        {

            j++;

        }

        if(j == n) return i;

       }

       return -1;

    }

};

标签:下标,示例,int,needle,字符串,haystack
From: https://blog.csdn.net/2401_88200736/article/details/144736173

相关文章

  • 使用js写一个方法删除字符串左边(右边)的空白
    在JavaScript中,我们可以使用trimStart()和trimEnd()方法来分别删除字符串左边和右边的空白。这两个方法都是ES2019(也称为ES10)中引入的,它们分别用于去除字符串开头和结尾的空白字符。下面是一个简单的示例,展示了如何使用这两个方法:functiontrimLeft(str){returnstr.trimS......
  • js字符串截取的方法有哪些?
    在JavaScript中,有多种方法可以截取字符串。以下是一些常见的方法:substring()substring()方法返回一个字符串在开始索引到结束索引之间的一个子集,或从开始索引到字符串的末尾的一个子集。letstr='Hello,World!';letsubstr=str.substring(0,5);//返回'Hello'su......
  • Bash 将 Python 列表格式的字符串转为空格分隔字符串的 N 种方法
    MY_LIST='["item1","item2","item3"]'echo"Originallist:$MY_LIST"MY_LIST_CONVERTED=$(echo$MY_LIST|sed's/\[//g'|sed's/\]//g'|sed's/"//g'|sed's/,//......
  • 字符串匹配:BF算法 | KMP算法 | Z函数
    什么是字符串匹配?给你一个字符串str,问你这个字符串中是否包含字符串sub。例如:str="abcdef",sub="cdef",问str中是不是有sub。一.BF算法BF算法(BruteForce),翻译成中文就是暴力匹配算法。暴力匹配其实很好想,不就让我们判断str中有没有sub嘛,直接一个一个来。定义两个指针,一个指st......
  • 3083. 字符串及其反转中是否存在同一子字符串
    给你一个字符串s,请你判断字符串s是否存在一个长度为2的子字符串,在其反转后的字符串中也出现。如果存在这样的子字符串,返回true;如果不存在,返回false。示例1:输入:s="leetcode"输出:true解释:子字符串"ee"的长度为2,它也出现在reverse(s)=="edocteel"中。示例2......
  • 字符串(String)
    在Python3中,字符串(String)是一种表示文本数据的核心数据类型。字符串可以包含字母、数字、符号和空格等字符,并且在Python中被广泛使用。以下是关于Python3字符串的详细讲解:1.定义字符串字符串可以用以下三种方式定义:单引号(')双引号(")三引号('''或""")示例:#使用单......
  • 写一个js方法将字符串数组与数字数组互转
    在前端开发中,有时需要将字符串数组转换为数字数组,或者将数字数组转换为字符串数组。以下是一个简单的JavaScript方法,用于实现这两种转换://将字符串数组转换为数字数组functionstringArrayToNumberArray(stringArray){returnstringArray.map(item=>{constnumber=......
  • 攻克 LeetCode 186:反转字符串中的单词,你学会了吗?
    一、引言在编程的世界里,LeetCode无疑是一块检验实力的试金石。众多大厂面试中,LeetCode上的题目频繁出现,成为了程序员们迈向心仪岗位的必经之路。今天,我们就来深入剖析一道经典题目——LeetCode186.反转字符串中的单词。这道题看似简单,实则暗藏玄机,它不仅考察了对字符串操......
  • 【C/C++】字符数组和string字符串:从C语言到C++的演变
    字符数组和string字符串:从C语言到C++的演变在C语言和C++的编程中,字符数组和字符串(string)是非常重要的基础数据类型。它们在实际编程中常用于存储和操作文本数据,但是这两种类型的处理方式有所不同。在这篇博客中,我们将详细讲解字符数组和string字符串,从C语言的字符数组到C++......
  • 常见字符串算法简记(持续更新中)
    包含KMP(border相关,KMP自动机),Manacher,Zalgorithm(exKMP),SuffixArray的简单记录。当然写的很烂,欢迎当玩笑看。0.前言1.记一忘三二本文所写的字符串算法都基于一个基本思想:充分利用已知信息的性质加速求出所求信息的过程。这是老生常谈的。因此在这些算法的复杂度分析中主要......