public class IsPalindrome {
// temporal: O(n) | spatial: O(1)
private static boolean isPalindrome(final String s) {
if (s == null) {
return false;
}
final int half = s.length() >> 1;
for (int i = 0; i < half; i++) {
if (s.charAt(i) != s.charAt(s.length() - 1 - i)) {
return false;
}
}
return true;
}
private static void checkIsPalindrome(String s) {
String ss = (s!=null) ? '"' + s + '"' : "null";
System.out.println("isPalindrome(" + ss + "): " + isPalindrome(s));
}
public static void main(String[] args) {
checkIsPalindrome(null);
checkIsPalindrome("A");
checkIsPalindrome("a");
checkIsPalindrome("ala");
checkIsPalindrome("Ala");
checkIsPalindrome("elle");
checkIsPalindrome("ellE");
checkIsPalindrome("neuquen");
checkIsPalindrome("neuQuen");
checkIsPalindrome("Aa");
checkIsPalindrome("aA");
}
}
// Let me know if you have any suggestions, thanks in advance!
Comments
Post a Comment