Следующая функция принимает 2 строки, 2-я (не 1-я), возможно, содержащая *
(звездочки).
*
является заменой строки (пустой, 1 символ или более), она может появиться (только в s2) один раз, дважды, больше или не отображаться вообще, она не может быть смежной с другой *
(ab**c
), проверять это не нужно.
public static boolean samePattern(String s1, String s2)
Возвращает true, если строки имеют одинаковый шаблон.
Он должен быть рекурсивным, не использовать циклы, статические или глобальные переменные. Также запрещено использовать метод equals
в классе String. Можно использовать локальные переменные и перегрузку метода.
Можно использовать только эти методы: charAt(i)
, substring(i)
, substring(i, j)
, length()
.
Примеры:
1: TheExamIsEasy; 2: "The*xamIs*y" ---> true
1: TheExamIsEasy; 2: "Th*mIsEasy*" ---> true
1: TheExamIsEasy; 2: "*" ---> true
1: TheExamIsEasy; 2: "TheExamIsEasy" ---> true
1: TheExamIsEasy; 2: "The*IsHard" ---> FALSE
Я застрял в этом вопросе на много часов! Мне нужно решение на Java, пожалуйста, помогите мне.