BruteSubstringSearch2

2018-04-07  本文已影响3人  賈小強

简书 賈小強
转载请注明原创出处,谢谢!

package com.lab1.test5;

public class BruteSubstringSearch2 {
    public static void main(String[] args) {
        String txt = "aaabbcc";
        String pat = "bb";
        System.out.println(txt);
        for (int i = 0; i < search(pat, txt); i++) {
            System.out.print(" ");
        }
        System.out.print(pat);
    }

    private static int search(String pat, String txt) {
        int m = pat.length();
        int n = txt.length();
        int i, j;
        for (i = 0, j = 0; i < n && j < m; i++) {
            if (txt.charAt(i) == pat.charAt(j)) {
                j++;
            } else {
                i -= j;
                j = 0;
            }
        }
        if (j == m) {
            return i - m;
        } else {
            return n;
        }
    }
}

输出

aaabbcc
   bb

Happy learning !!

上一篇 下一篇

猜你喜欢

热点阅读