Số Palindrome là số đọc ngược vẫn giống gốc, ví dụ: 121, 313, 525, v.v.
Ví dụ 1: Kiểm tra số palindrome
public class Palindrome {
public static void main(String[] args) {
int a = 525, revVal = 0, remainder, val;
val = a;
System.out.println("Số cần kiểm tra = " + a);
while(a != 0) {
remainder = a % 10;
revVal = revVal * 10 + remainder;
a /= 10;
}
if (val == revVal)
System.out.println("Palindrome!");
else
System.out.println("Not a palindrome!");
}
}
Kết quả
Số cần kiểm tra = 525 Palindrome!
Ví dụ 2: Kiểm tra chuỗi palindrome (ví dụ: "aba", "wow")
public class Demo {
public static void main(String[] args) {
String str = "ABA";
String strRev = new StringBuffer(str).reverse().toString();
if (str.equals(strRev))
System.out.println("Palindrome!");
else
System.out.println("Not a Palindrome!");
}
}
Kết quả
Palindrome!
Cách khác (Java 8+ Stream):
boolean isPalindrome = IntStream.range(0, str.length() / 2)
.allMatch(i -> str.charAt(i) == str.charAt(str.length() - 1 - i));
Lưu ý: Kiểm tra chuỗi nên dùng equalsIgnoreCase() nếu bỏ qua chữ hoa/thường, và loại bỏ khoảng trắng/ky tự đặc biệt nếu cần (ví dụ: "A man a plan a canal Panama").