字符串查找

给定一个字符串str = “ABACADABRAC”和模式串pattern = “ABR”,查找模式串pattern在字符串str中出现的位置,如上所示返回index=6。

思路:
本题通过使用暴力的方式来解决,也可以通过使用KMP算法

public class StrFind {

    public static void main(String[] args) {

        String str = "ABACADABRAC";
        String pattern = "ABR";

        Integer index = strFind(str, pattern);
        System.out.println(index);
    }

    private static Integer strFind(String str,String pattern) {

        for(int i = 0;i < str.length() - pattern.length();i++) {
            int j = 0;
            for(j = 0;j < pattern.length();j++) {
                if(str.charAt(i+j) != pattern.charAt(j)){
                    break;
                }
            }

            if(j == pattern.length()) {
                return i;
            }
        }

        return -1;
    }
}

你可能感兴趣的:(字符串查找)