【leetcode面试经典150题】23.找出字符串中第一个匹配项的下标(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C++语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致)

【题目描述】

给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1。

【示例一】

复制代码
输入:haystack = "sadbutsad", needle = "sad"
输出:0
解释:"sad" 在下标 0 和 6 处匹配。
第一个匹配项的下标是 0 ,所以返回 0 。

【示例二】

复制代码
输入:haystack = "leetcode", needle = "leeto"
输出:-1
解释:"leeto" 没有在 "leetcode" 中出现,所以返回 -1 。

【提示及数据范围】

  • 1 <= haystack.length, needle.length <= 10的4次方
  • haystack 和 needle 仅由小写英文字符组成

【代码】

cpp 复制代码
// 直接使用库函数find即可

class Solution {
public:
    int strStr(string haystack, string needle) {
        int res = haystack.find(needle);
        if( res != -1) return res;
        else return -1;
    }
};
相关推荐
晚风予卿云月9 分钟前
【C++高并发内存池】 1.定长内存池的实现
开发语言·c++·内存管理
花间相见13 分钟前
【计算基础|MySQL17】三大日志:undo / redo / binlog
数据库·后端·面试
文丑颜不良啊18 分钟前
LeetCode926~950题目解析
java·leetcode
动词ing26 分钟前
【题目练习】旋转图像
算法
天疆说28 分钟前
【无标题】
算法
海绵宝宝的月光宝盒30 分钟前
7-AutoCAD-参考线、多行文字、填充命令应用
经验分享·笔记·学习·职场和发展·课程设计·制造·cad
GG.WinGel43 分钟前
三元组中心问题
java·数据结构·算法·青少年编程·蓝桥杯
开开心心就好1 小时前
电脑小说阅读器,支持朗读和自定义皮肤
服务器·开发语言·javascript·算法·pdf·c#·音视频
程序员清风1 小时前
缓存、索引与数据结构的工程选择
数据结构·spring·缓存
闻缺陷则喜何志丹1 小时前
【c++20】协程与屏障
c++·算法·c++20·携程·屏障