Palindrome පරීක්ෂා කිරීම

Palindrome එකක් කියන්නෙ දෙපැත්තටම එකම විදියට කියවෙන වචන සහ වාක්‍ය වලට. වැඩි දුර මේ ලින්ක් එකෙන් කියවන්න පුලුවන්. පහල තියෙන්නෙ input කරන String එකක් palindrome එකක්ද නැද්ද යන්න පරීක්ෂා කර බැලීම.




public class IsPalindrome {

	/**
	 * @author Chamila De Alwis
	 * @see http://chamiladealwis.com
	 */

	public static void main(String[] args) {
		String [] str = {"aibohphobia","cammac","detardtrated","A dog a plan a canal pagoda","Cain a maniac","Draw O coward","Glenelg"};
		for(int x = 0;x<str.length;x++){
			System.out.print(str[x]+ " = ");
			System.out.println(isPalin(str[x]));
		}
	}

	public static boolean isPalin(String s){
		s = s.toLowerCase().trim().replaceAll("[,:\"\'/;!@#$%^&amp;*(){}?<> ]", "");
		int si = 0, ei = s.length()-1, mp = (s.length()%2 == 0)?s.length()/2:(s.length()-1)/2;

		for(;si<mp;si++){
			if(s.charAt(si) != s.charAt(ei)){
				return false;
			}
			ei--;
		}
		return true;
	}
}


Return Fire!