回文字符串

  1. public static boolean isPalindrome(String s) {
  2. if (s.equals("")) {
  3. return true;
  4. }
  5. s = s.toLowerCase();
  6. int start = 0;
  7. int end = s.length() - 1;
  8. while (start < end) {
  9. while ((start < end) && (!((s.charAt(start) >= 'a' && s.charAt(start) <= 'z') || (s.charAt(start) >= '0' && s.charAt(start) <= '9')))) {
  10. start++;
  11. }
  12. while ((start < end) && (!((s.charAt(end) >= 'a' && s.charAt(end) <= 'z') || (s.charAt(end) >= '0' && s.charAt(end) <= '9')))) {
  13. end--;
  14. }
  15. if (s.charAt(start) != s.charAt(end)) {
  16. return false;
  17. }
  18. start++;
  19. end--;
  20. }
  21. return true;
  22. }