1616分割两个字符串得到回文串

2020-10-12  本文已影响0人  1nvad3r

1616. 分割两个字符串得到回文串

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;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读