OJ

题目描述:

import java.util.Scanner;

/**
 * 此类用于演示两个字符串的字符串的截取后的拼接是否为回文
 */
public class Solution {
    // 判断拼接后是否能够得到回文字符串
    public static boolean getAnswer(String a, String b){
        char[] achars = a.toCharArray();
        char[] bchars = b.toCharArray();

        int head = 0;
        int end = a.length()-1;
        int i = 0;
        int j = 0;
        while (head < end){
            if (achars[head] == bchars[end]){
                head++;
                end--;
            }else{
                break;
            }
        }
        i = head;
        j = end;
        while (i<j){
            if(bchars[i] == bchars[j]){
                i++;
                j--;
            }else{
                break;
            }
        }
        if (i>=j){
            return true;
        }

        i=head;
        j=end;
        while (i<j){
            if(achars[i] == achars[j]){
                i++;
                j--;
            }else {
                break;
            }
        }
        if (i>=j){
            return true;
        }
        return false;
    }

    public static boolean isPalindrome(String a, String b){
        if(getAnswer(a,b) || getAnswer(b,a)){
            return true;
        }
        return false;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.nextLine();
        String b = sc.nextLine();
        boolean result = isPalindrome(a,b);
        System.out.println(result);
    }
}
原文地址:https://www.cnblogs.com/runmoxin/p/14111348.html