strstrIII

来源:互联网 发布:java简单工厂模式 编辑:程序博客网 时间:2024/06/05 00:41
public static boolean strstp11(String s, String t) {        char[] tmap = new char[256];        for (char c: t.toCharArray()) {            tmap[c]++;        }        int len = t.length();        int count = 0;        boolean isStart = true;        int start = 0;        for (int i = 0; i < s.length(); i++) {            if (--tmap[s.charAt(i)] >= 0) {                if (isStart) {                    isStart = false;                    start = i;                }                count++;                if (count == len) {                    return true;                }            } else {                do {                    if (tmap[s.charAt(start)]++>= 0) {                        count--;                    }                } while (s.charAt(start++)!=s.charAt(i));                if (start > i) {                    isStart = true;                }            }        }        return false;    }

0 0