class Solution {
boolean isPalindromic(String s) {
if ("".equals(s)) {
return false;
}
for (int i = 0; i < s.length() / 2; i++) {
if (s.charAt(i) != s.charAt(s.length() - 1 - i)) {
return false;
}
}
return true;
}
public boolean checkPalindromeFormation(String a, String b) {
if (a.length() <= 1) {
return true;
}
int i = 0, j = a.length() - 1;
while (a.charAt(i) == b.charAt(j)) {
i++;
j--;
}
String aPre = a.substring(0, i);
String bSuf = b.substring(j + 1, b.length());
if (isPalindromic(aPre + bSuf)) {
return true;
}
i = a.length() - 1;
j = 0;
while (a.charAt(i) == b.charAt(j)) {
i--;
j++;
}
String bPre = b.substring(0, j);
String aSuf = a.substring(i + 1, a.length());
if (isPalindromic(bPre + aSuf)) {
return true;
}
return false;
}
}
网友评论