The fastest method of determining if a string is a palindrome
java, palindrome, performance
Solution
I think you can just check for string reverse, not?
StringBuilder sb = new StringBuilder(str);
return str.equals(sb.reverse().toString());
Or, for versions earlier than JDK 1.5:
StringBuffer sb = new StringBuffer(str);
return str.equals(sb.reverse().toString());
Problem
I need an algorithm that verify with the fastest possible execution time, if a string is a palindrome ( the string can be a proposition with uppercase or lowercase letter, spaces etc.). All of this in Java. I got a sample : ``` bool isPalindrome(string s) { int n = s.length(); s = s.toLowerCase(); for (int i = 0; i < (n / 2) + 1; ++i) { if (s.charAt(i) != s.charAt(n - i - 1)) { return false; } } return true; } ``` I transformed the string in lowercase letter using `.toLowerCase()` function, but I don't know how much it affects the execution time . And as well I don't know how to solve the problem with punctuation and spaces between words in a effective way.