📅  最后修改于: 2023-12-03 15:27:11.695000             🧑  作者: Mango
回文串是指将字符串倒序排列后得到的新字符串与原字符串相同的字符串。检查一个字符串是否为回文串是计算机科学中一个经典的问题。本文介绍了用于检查字符串是否为回文串的Java程序。
要判断一个字符串是否为回文串,简单粗暴的方法是将字符串倒序后与原字符串比较是否相同。但是,这种方法的时间复杂度为O(n),并不是最优的解法。我们可以从两端向中间检查,只需要检查一半的字符,时间复杂度为O(n/2),效率更高。具体实现方法如下:
public class Palindrome {
public static boolean isPalindrome(String s) {
int i = 0, j = s.length() - 1;
while (i < j) {
if (s.charAt(i) != s.charAt(j)) {
return false;
}
i++;
j--;
}
return true;
}
}
String s1 = "racecar";
String s2 = "hello";
boolean b1 = Palindrome.isPalindrome(s1);
boolean b2 = Palindrome.isPalindrome(s2);
System.out.println(b1); // true
System.out.println(b2); // false
本文介绍了用于检查字符串是否为回文串的Java程序。程序通过定义两个指针从字符串的两端向中间检查,只需要检查一半的字符,时间复杂度为O(n/2),效率更高。程序简单易懂,适合初学者入门学习。