如何判断一个字符串是否是回文串?

判断一个字符串是否是回文串的方法,你可能会想到先找到字符串你中间位置,然后按照第一个和最后一个,第二个和最后第二个,一次对比,这里有一个更好的思路,就是将该字符串翻转后,与原字符串进行比较,如果二者相等,则原字符串为回文串。

例如,对于字符串 “level”,将其翻转得到 “leveL”,与原字符串相等,所以 “level” 是回文串。

下面是Java的示例代码,用于判断一个字符串是否是回文串:

public static boolean isPalindrome(String str) {
    StringBuilder sb = new StringBuilder(str);
    return str.equals(sb.reverse().toString());
}

public static void main(String[] args) {
    String s1 = "level";
    String s2 = "hello";

    System.out.println(s1 + " is palindrome: " + isPalindrome(s1));
    System.out.println(s2 + " is palindrome: " + isPalindrome(s2));
}

输出:

level is palindrome: true
hello is palindrome: false

以上代码中,isPalindrome() 方法将字符串进行翻转,并与原字符串进行比较。如果二者相等,则返回 true,否则返回 false。

需要注意的是,该方法只适用于单词级别的回文,对于句子或多个单词的回文,需要先将其转换为只包含字母和数字的字符串,然后再进行判断。