leetcode 28. 找出字符串中第一个匹配项的下标 python

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

示例 1:

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

示例 2:

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

提示:

  • 1 <= haystack.length, needle.length <= 104

  • haystack 和 needle 仅由小写英文字符组成

    python 复制代码
    class Solution:
        def strStr(self, haystack: str, needle: str) -> int:
            if(needle not in haystack):
                return -1
            length1 = len(needle)
            length2 = len(haystack)
            j = 0
            flag = False//定义flag标记是否匹配失败
            for i in range(length2):
                if(haystack[i]==needle[0])://暴力查找
                    flag = True//每次进行匹配重置flag
                    for j in range(length1):
                        if((i+j<length2) and (haystack[i+j]!=needle[j]))://注意下标不要越界
                            flag = False
                            break
                    if(flag):
                        return i
相关推荐
lzx_0028 分钟前
Linux 进程(三) 从进程状态到僵尸进程、孤儿进程
linux·服务器
FlightYe1 小时前
音视频修炼之容器与协议(四):RTSP详解
android·linux·ffmpeg·音视频·dash
刘马想放假3 小时前
CANviz 使用指南|Linux 安装、DBC 解码、实时曲线与 J1939 实战
linux·python·websocket
2601_967987373 小时前
python判断变量名不要调用任何函数实现
python·函数·语法·判断·变量名
kloc4 小时前
聊天室项目入口网关子服务的实现
linux·c++
GeW4 小时前
深圳APEC峰会倒计时:数据库与Linux运维的"隐形考场"
linux
卷无止境4 小时前
SALib敏感性分析的python库学习笔记
后端·python
duansamve5 小时前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
梦到啥说啥5 小时前
Linux网络编程:UDP网络协议
linux·网络协议·udp
特立独行的猫A5 小时前
少 3 个环节、少 1 次 ABI、少 3500 行代码:cj-tauri 与 Ionic/Capacitor 的鸿蒙桥接机制对比
java·后端·python