使用Java库进行字符串的代码更正建议?

时间:2012-08-02 16:32:56

标签: java

我知道有一种更简单的方法可以让一些字符串成为回文,但是我想尝试使用库函数,我想出了下面的代码。

public boolean isPalindrome1(String input)
{

    int length = input.length()/2;
    if(input.length()%2!=0)
    {
        length = length + 1;
    }


    return(input.substring(0,length).equals(new StringBuilder(input.substring(length, input.length())).reverse().toString()));
}

我正在尝试检查一半的字符串是否等于另一半的反向。但它变得混乱了奇数和偶数长度。有人可以在这里指出更正,它将适用于奇数,偶数长度以及空字符串和长度为1的字符串。

2 个答案:

答案 0 :(得分:6)

你已经在使用reverse()了。为什么不能将输入字符串与反向字符串进行比较?这首先不是你想要的吗?不需要以复杂的方式将事情分成两半。

答案 1 :(得分:2)

你可以:

return new StringBuilder(input).reverse().toString().equals(input);

在这里,你想知道:

public boolean isPalindrome(String input) {
    for (int i = 0; i < input.length() / 2; i++) {
        if (input.charAt(i) != input.charAt(input.length() - 1 - i)) {
            return false;
        }
    }
    return true;
}