判断一个字符串是否是回文串的方法,你可能会想到先找到字符串你中间位置,然后按照第一个和最后一个,第二个和最后第二个,一次对比,这里有一个更好的思路,就是将该字符串翻转后,与原字符串进行比较,如果二者相等,则原字符串为回文串。
例如,对于字符串 “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。
需要注意的是,该方法只适用于单词级别的回文,对于句子或多个单词的回文,需要先将其转换为只包含字母和数字的字符串,然后再进行判断。