Palindrome Number คือเลขที่อ่านจากหน้าหลังได้เหมือนเดิม เช่น 121, 313, 525
ตัวอย่างที่ 1: ตรวจสอบ Palindrome Number
public class Palindrome {
public static void main(String[] args) {
int a = 525, revVal = 0, remainder, val;
val = a;
System.out.println("Number to be checked = " + 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!");
}
}
ผลลัพธ์
Number to be checked = 525
Palindrome!
ตัวอย่างที่ 2: ตรวจสอบ Palindrome String
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!");
}
}
ผลลัพธ์
Palindrome!
วิธีอื่นสำหรับ String (Java 8+):
boolean isPalindrome = new StringBuilder(str).reverse().toString().equals(str);
// หรือ
boolean isPalindrome = IntStream.range(0, str.length() / 2)
.allMatch(i -> str.charAt(i) == str.charAt(str.length() - 1 - i));
Use Cases: Algorithm Problems, String Processing, Data Validation, Cryptography