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

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

【题目描述】

给你两个字符串 haystackneedle ,请你在 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次方
  • haystackneedle 仅由小写英文字符组成

【代码】

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

class Solution {
public:
    int strStr(string haystack, string needle) {
        int res = haystack.find(needle);
        if( res != -1) return res;
        else return -1;
    }
};
相关推荐
one_love_zfl几秒前
java面试-微服务篇
java·微服务·面试
RTC老炮5 分钟前
音视频FEC前向纠错算法Reed-Solomon原理分析
网络·算法·架构·音视频·webrtc
十五年专注C++开发6 分钟前
C++中TAS和CAS实现自旋锁
c++·cas·原子操作·tas
郝学胜-神的一滴8 分钟前
系统设计:新鲜事系统扩展与优化
java·python·职场和发展·php·软件工程·软件构建
噜噜噜噜鲁先森9 分钟前
STL——String类
开发语言·c++·算法
Severus_black10 分钟前
算法题C——用队列实现栈/用栈实现队列
c语言·数据结构·算法·链表
谭欣辰14 分钟前
详细讲解 C++ 有向无环图(DAG)及拓扑排序
c++·算法·图论
欧米欧16 分钟前
C++算法之双指针算法
开发语言·c++
承渊政道19 分钟前
【递归、搜索与回溯算法】(掌握记忆化搜索的核心套路)
数据结构·c++·算法·leetcode·macos·动态规划·宽度优先
REDcker19 分钟前
跨平台编译详解 工具链配置与工程化实践
linux·c++·windows·macos·c·跨平台·编译