28. Implement strStr()

2023-05-16


public class Solution {
    public int strStr(String haystack, String needle) {
        int[] next=new int[needle.length()];
        generateNextArray(next,needle);
        int i=0;
        int j=0;
        while(i<haystack.length()&&j<needle.length())
        {
            if(j==-1||haystack.charAt(i)==needle.charAt(j))
            {
                i++;
                j++;
            }
            else
                j=next[j];
        }
        if(j==needle.length())
            return i-j;
        return -1;
    }
    void generateNextArray(int[] next, String needle)
    {
        int k=-1;
        if(next.length>0)
            next[0]=-1;
        int i=0;
        while(i<needle.length()-1)
        {
            if(k==-1||needle.charAt(k)==needle.charAt(i))
            {
                k++;
                i++;
                next[i]=k;
            }
            else
                k=next[k];
        }
    }
}  

 http://blog.csdn.net/v_july_v/article/details/7041827

转载于:https://www.cnblogs.com/asuran/p/7580062.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

28. Implement strStr() 的相关文章

  • composite-id class must implement Serializable

    org hibernate MappingException composite id class must implement Serializable com xxx pojo Organization 这一段中 xff0c 最重要的错
  • 详解strstr函数:查找子字符串函数及其模拟实现

    详解strstr函数 xff1a 在一个字符串中查找另一共字符串是否存在 xff01 对于strstr查找子字符串 xff0c 笔者如果不是对C语言学习的更加深入 xff0c 可能还是不知道有这个函数 xff01 xff01 xff01 之
  • C语言字符串函数strstr的详细解释

    在C语言中 xff0c strstr xff08 xff09 函数是一个字符串处理函数 xff0c 它用于在一个字符串中查找另一个字符串的出现位置 函数原型为 xff1a char strstr const char str1 const
  • C语言strstr函数

    函数strstr定义 xff1a char strstr const char str1 const char str2 xff1b 位于头文件 string h 中 作用 xff1a strstr函数用于判断字符串str2是否为字符串st
  • 有意思的字符串查找函数strchr,strrchr,strstr,strrstr

    通过一段时间对字符串的了解 xff0c 我发现了许多有意思的字符串函数 xff0c 下面我们就以常见的字符串查找函数 strchr strrchr strstr strrstr为例来模拟实现这些有意思的字符串查找函数吧 xff01 strc
  • Pixhawk4+Up Board / NUC Implement VIO By Deploying T265

    How learning without GFW Reference Links Open links below in sequence Things you need to learn or following Overall Step
  • C语言字符串查找基础----strchr()、strrchr()、strpbrk()、strstr()

    1 查找一个字符 在一个字符串查找一个特定字符最容易的方法是使用strchr和strrchr函数 xff0c 原型如下所示 xff1a char strchr char const str int ch char strrchr char
  • C/C++库函数strstr和find实现子字符串查找

    1 子字符串查找实现Demo include
  • C/C++实现strstr函数、KMP算法查找子串

    C C 实现strstr KMP算法查找子串 目录 C C 实现strstr KMP算法查找子串 1 字符串形式 2 字节流形式 1 字符串形式 代码实现 char my strstr const char src const char d
  • strstr 的优化版本(搜索具有恒定长度)

    我的 C 程序有很多 strstr 函数调用 标准库 strstr 已经很快 但在我的例子中 搜索字符串的长度始终为 5 个字符 我用一个特殊版本替换了它以获得一些速度 int strstr5 const char cs const cha
  • strstr() 在 gcc 和 VS 中的实现是否具有线性复杂度?

    我知道有快速的字符串搜索算法 例如博耶 摩尔 and 高德纳 莫里斯 普拉特 其复杂度为 O n m 而普通解决方案为 O n m 那么 最流行的工具链 gcc 和 Visual Studio 的 strstr 实现是使用这些快速 O n
  • strstr 的纯字节版本?

    是否有一个 strstr 版本可以在可能包含空字符的固定长度内存上工作 我可以这样表达我的问题 strncpy 与 memcpy 的关系与 strstr 的关系相同 memmem 不幸的是它是 GNU 特定的而不是标准 C 但是 它是开源的
  • 在 PHP 开关中使用 strstr

    我只是想不出代码 我有太多 if 语句 我想将其更改为 switch 语句 但我找不到逻辑 目前我有 if strstr var texttosearch echo string contains texttosearch if strst
  • strstr 显示出现之前的字符串

    我想在针出现后得到字符串的第一个位 如下所示 user strstr email protected cdn cgi l email protection true 但这仅适用于 PHP 版本 5 3 0 我有 5 2 9 有什么办法可以得
  • PHP中获取字符串的第一行

    在 PHP 5 3 中有一个不错的功能 http www php net manual en function strstr php这似乎做我想做的 strstr input n true 不幸的是 服务器运行 PHP 5 2 17 和可选
  • strstr() 的参数计数错误

    我已经使用帖子 GUID 和帖子标题在 WordPress 中构建了一个导航菜单 我只获取标题的一部分 为此我正在执行以下操作 casestudylist li class subnav a href strstr v gt post ti
  • 将全名向量拆分为 2 个独立向量的有效方法

    我有一个由全名组成的向量 名字和姓氏用逗号分隔 这就是前几个元素的样子 gt head val vec 1 Aabye Edgar Aaltonen Arvo Aaltonen Paavo 4 Aalvik Grimsb Kari Aamo
  • strstr 不工作

    如果我输入 test 为什么这段特定的代码在 strstr 上返回 false char input 100 int main fgets input 100 stdin printf s input if strstr test mess
  • strstr 仅当我的子字符串位于字符串末尾时才有效

    我现在编写的程序遇到了一些问题 strstr outputs my substring only if it s at the end of my string it also outputs some trash characters a
  • 查找输入字符串中的子字符串

    我有这个汇编程序 我需要在我输入的主字符串中找到子字符串 我的问题是 即使我输入了两个完全不同的单词 它总是输出 找到的单词 我不知道我的循环或条件的哪一部分是错误的 请帮我弄清楚 另外 请建议一些可用于检查子字符串的字符串指令 以便我可以

随机推荐

  • 项目管理之代码合并

    由于现在项目发布比较频繁 xff0c 因而经常需要改变版本 xff0c 但是为了能够保有一个最新的CodeFix版本 xff0c 所以 我们也需要在修改主线版本的同时同步合并修改的内容到Fix版本 由于种种原因经常导致合并到CodeFix的
  • C#日写点滴(1)

    渐渐感觉 xff0c 学一种知识 xff0c 脚踏实地 xff0c 一步一步是多么重要 以前习惯一看几十页 xff0c 以为学了很多 xff0c 很有成就感 xff0c 在要用的时候 xff0c 会想起来看过 xff0c 可具体怎么用 xf
  • download excel file from datagrid for webpage

    lt summary gt Summary description for WebExcelUtil lt summary gt public sealed class WebExcelUtil public static void Gen
  • C#:装箱和拆箱

    C 允许 值类型 的任何值与 Object 类型的值相互转换 装箱是将值类型转换为引用类型 xff1b 拆箱是将引用类型转换为值类型 xff1b int i 61 100 object o 61 i 装箱 xff1a 将值类型i转化为了ob
  • 漂亮的登陆框

    转载于 https www cnblogs com aspphpvbs archive 2013 04 20 3033057 html
  • IOS设计模式浅析之抽象工厂模式(Abstract Factory)

    概述 在前面两章中 xff0c 分别介绍了简单工厂模式 和工厂方法模式 xff0c 我们知道简单工厂模式 的优点是去除了客户端与具体产品的依赖 xff0c 缺点是违反了 开放 关闭原则 xff1b 工厂方法模式 克服了简单工厂模式 的缺点
  • 软件工程小组第八次会议记录

    会议主题 xff1a 确定各个接口的命名及功能 与会时间 xff1a 6月17日 与会地点 xff1a 逸夫楼C202 与会成员 xff1a 尚卓燃 张世豪 傅宇豪 王昊钰 会议记录 xff1a 前端与后端讨论了接口的命名和功能 xff0c
  • Ant入门教程

    本内容包含了Ant的历史简要介绍 xff0c Ant的功能以及Ant框架的介绍 xff0c 并对下载安装使用Ant进行了示例介绍 xff0c 同时通过一个Java程序讲解了Ant的基本使用方法 1 Ant简介 xff1a 这里引用Ant帮助
  • Python 与系统管理

    作为一名系统管理员 xff0c 您可能碰到过各种各样的挑战和问题 管理用户 磁盘空间 进程 设备和备份 xff0c 可能让许多系统管理员绞尽脑汁 xff0c 从而变得心情郁闷 甚至精神错乱 Shell 脚本可以为此提供帮助 xff0c 但是
  • Nuget控制台 - 给你的快速添加缺少的包

    利用命令行安装包 转载于 https www cnblogs com davidgu p 3250663 html
  • Swift语言精要 - Operator(运算符重载)

    运算符重载 Swift的这一语言特性或许应该启发于C 43 43 class Vector2D var x Float 61 0 0 var y Float 61 0 0 init x Float y Float self x 61 x s
  • 关于研究性和工程性

    自己将要往哪个方向发展呢 xff1f 最近一段时间很认真的考虑了一下周围的人 xff0c 有做工程的 xff0c 有做研究的 xff0c 还有做商务的 做工程实际具体 xff0c 相对简单些 xff0c 但是可能薪水也相对低一些 xff1b
  • C#日写点滴(2)

    CTS Common Type System 公共类型系统 C 认可的基本预定义类型并没有内置于C 语言中 xff0c 而是内置于 NET Framework中 例如 xff0c 在C 中声明一个int类型的数据时 xff0c 声明实际上是
  • SQL-关联查询【转】

    T A A表 T B B标 xff0c id为表与表相关联的字段 96 创建相关表结构 span class hljs keyword CREATE span class hljs keyword TABLE Table B span cl
  • char, varchar, nchar, nvarchar (Transact-SQL)

    char 和 varchar Transact SQL 长度固定或可变的字符串数据类型 char n 固定长度 xff0c 非 Unicode 字符串数据 n 用于定义字符串长度 xff0c 并且它必须为 1 到 8 000 之间的值 存储
  • .net中类(class)与结构(struct)的不同

    Class可以被实例化 属于引用类 型 是分配在内存的堆上的 类是引用传递的 Struct属于值类型 是分配在内存的栈上的 结构体是复制传递的 Int32 Boolean等都属于结构体 转载于 https www cnblogs com b
  • Intro to asp.net MVC 简单的小程序(2)

    我们做的很简单 xff0c 就是一个电影的表单 xff0c 显示还有创建 强大的封装真的很好用 xff0c 当我们新建的视图的时候 xff0c 强类型下面都有封装好的 Create List Details 很多 xff0c 我们只要选择一
  • 利用网站上传漏洞使用一句话木马控制服务器

    一句话木马 常用于php asp aspx php lt php echo shell exec GET 39 cmd 39 gt asp lt execute request 34 value 34 gt aspx lt 64 Page
  • 用MotoMidMan给L7批量安装java程序

    在给手机装完驱动后 可以通过MotoMidMan给手机内存安装java程序 需要资源 数据线 MotoMidMan java程序 由一个 jar文件与一个 jad文件组成 操作步骤 1 下载完的是个压缩包 扩展名为 rar 解压完的文件清单
  • 28. Implement strStr()

    public class Solution public int strStr String haystack String needle int next 61 new int needle length generateNextArra