回文字符串的定义:
回文字符串 是指一个字符串从左到右与从右到左遍历得到的序列是相同的。也就是说不管从左读,还是从右读,都是一样的,类似数学上学习的轴对称图形,例如“abcba”、“NBAABN”是回文字符串,而“abcd”不是回文字符串。
常见的实现思路有以下两种:
- 首尾双向遍历,如果某个字符不相同,则不是回文字符串;
- 反转字符串,比较反转后的字符串与原字符串是否相同;
示例1 — 首尾双向遍历
private static boolean isPalindrome(String str) {
if (str == null) {
return false;
}
int low = 0;
int high = str.length() - 1;
while (low < high) {
if (str.charAt(low) != str.charAt(high)) {
return false;
}
low++;
high--;
}
return true;
}
也可以采用for循环来实现首尾双向遍历,如下:
private static boolean isPalindrome(String str) {
if (str == null) {
return false;
}