KMP算法实现

KMP算法实现

参考博客:https://blog.csdn.net/gao506440410/article/details/81812163

package MyOffer;

import java.util.Scanner;

/**
 * 字符字串查找算法:KMP实现
 * 参考博客:https://blog.csdn.net/gao506440410/article/details/81812163
 */

public class KMP {
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        String textStr=in.nextLine();
        String patternStr=in.nextLine();
        System.out.println(Kmp(textStr,patternStr));
    }

    /** 从文本串中找到模式串的开始位置
     * @param textStr 文本串
     * @param patternStr 模式串
     * @return 文本串中包含模式串,返回模式串第一次出现的首字符的位置;否则返回-1
     */
    public static int Kmp(String textStr, String patternStr){
        char[] text=textStr.trim().toCharArray();
        char[] pattern=patternStr.trim().toCharArray();
        int[] next=getNext(pattern);
        int textIndex=0;
        int patInext=0;
        while(textIndex

你可能感兴趣的:(日常练习)