public class Ex6 {
// 如果字符串s和t互为回环变位,则s可分解为“AB”,t可分解为“BA”。那么t与自身拼接后则为“BABA”,显然是会包含s的
public static boolean isCircularRotation(String s, String t) {
return s.length() == t.length() && (s + s).contains(t);
}
// 从不同的索引位置将字符串t分解成两个子串,交换顺序拼接后再与s相比是否相等
public static boolean isCircularRotation2(String s, String t) {
if (s.length() != t.length()) {
return false;
}
for (int i = 1; i < s.length(); i++) {
String left = s.substring(0, i);
String right = s.substring(i, s.length());
if ((right + left).equals(t)) {
return true;
}
}
return false;
}
// 已知字符串S逆序的递归实现
public static String mystery(String s) {
int N = s.length();
if (N <= 1) return s;
String s1 = s.substring(0, N / 2);
String s2 = s.substring(N / 2, N);
return mystery(s2) + mystery(s1);
}
public static void main(String[] args) {
}
}