【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;
    }
};
相关推荐
likexuec1 小时前
数据结构(2)
数据结构
文丑颜不良啊2 小时前
LeetCode2221~2240题目解析
java·leetcode
Navigator_Z2 小时前
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero Integers
c语言·算法·leetcode
wo_jack3 小时前
C++ 入门笔记(十六):第16课 vector 模拟实现十问十答 —— 从三指针到迭代器失效
c++·后端·面试·stl·vector
D e re k ZH3 小时前
C++ 标准库算法全景指南
数据结构·c++·算法
冻柠檬飞冰走茶4 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
文丑颜不良啊4 小时前
LeetCode2161~2180题目解析
java·leetcode
雪落漂泊4 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法
聪明的笨猪猪5 小时前
AI应用架构选型:架构师的核心决策困境与权衡
经验分享·面试·架构