KMP算法的其中一种实现方式

本文介绍了一种简单的字符串匹配算法实现,通过遍历主字符串并与模式字符串进行比较,找到模式字符串在主字符串中的位置。示例代码使用Java实现,展示了如何在主字符串中查找模式字符串并输出其起始索引。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思路:遍历str1,先匹配第一个,如果不相同,跳过,继续寻找,如果相同,截取和str2相同长度的子串,比较是否相同,如果相同,则返回,如果不同继续寻找,一直到str1到最后一个字符

  • package com.puhui.goosecard.web;

  • class GFG {

    • public static void main(String[] args) {

    • String str1 = "abceacmk32acmzq";

    • char[] chars1 = str1.toCharArray();

    • String str2 = "acm";

    • char[] chars2 = str2.toCharArray();

    • for (int i = 0; i < chars1.length; i++) {

      • if (chars1[i] != chars2[0]) {

        • continue;

      • }

      • String temp = str1.substring(i, i + str2.length());

      • if (temp.equalsIgnoreCase(str2)) {

        • System.out.print(i);

      • }

    • }

  • }

}

  • --------------------- 本文来自 hanruikai 的优快云 博客 ,全文地址请点击:https://blog.youkuaiyun.com/hanruikai/article/details/82803096?utm_source=copy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值