
* 样例输入* abcd bc[cd]
* 样例输出
* 1
* 样例解释
* 目标字符串 "bc[cd]" 可以匹配 "bcc" 或 "bcd"。在源字符串 "abcd" 中,"bcd" 子字符串的起始位置是 1。
* abcdefd de[fd]
* 输出:3
* abcdefd dc[fd]
* 输出:-1
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String[] inputs = in.nextLine().split(" ");
String origin = inputs[0];
String needle = inputs[1];
System.out.println(strsrt(origin, needle));
}
private static int strsrt(String origin, String needle) {
String[] needles = needle.split("\\[");
String must = needles[0];
List<Character> list = new ArrayList<>();
String fuzzy = needles[1].replace("]", "");
for (int i = 0; i < fuzzy.length(); i++) {
list.add(fuzzy.charAt(i));
}
for (int i = 0; i <= origin.length() - must.length(); i++) {
boolean found = true;
for (int j = 0; j < must.length(); j++) {
if (origin.charAt(i + j) != must.charAt(j)) {
found = false;
break;
}
}
//判断是否fuzzy字符串存在后续的charAt
if (found) {
if (list.contains(origin.charAt(i +must.length()))) {
return i;
}
}
}
return -1;
}