美文网首页
暴力字符串查找算法

暴力字符串查找算法

作者: FiveZM | 来源:发表于2018-03-22 20:12 被阅读0次

    算法思路:
    i为txt的指针
    j为pattern的指针
    当txt的i+j角标不等于pattern的j角标,那么就break结束这次配对,
    然后i++,txt角标(i+j)再次和pattern的j角标(0)开始配对
    循环结束后,如果j的角标==M长度,那么就证明匹配成功,
    成功返回匹配成功的第一个字符串的角标
    失败返回-1

    public class search {
    
        public static void main(String[] args) {
            int index = search("ABACADABRAC", "ABRA");
            System.out.println(index);
        }
    
        private static int search(String txt, String pattern) {
            int N = txt.length();
            int M = pattern.length();
    
            for (int i = 0; i < N - M; i++) {
                int j;
                for (j = 0; j < M; j++) {
                    if (txt.charAt(i + j) != pattern.charAt(j))
                        break;
                }
                if (j == M)
                    return i;
            }
            return -1;
        }
    
    }
    

    相关文章

      网友评论

          本文标题:暴力字符串查找算法

          本文链接:https://www.haomeiwen.com/subject/xwrzqftx.html