Elegant Java Solution


  • 0

    public class Solution {
      public boolean isPalindrome(String s) {
        if (s == null || s.length() == 0)
          return true;
        int left = 0, right = s.length() - 1;
        while (left < right) {
          while (left < right && !Character.isLetterOrDigit(s.charAt(left)))
            left++;
          while (left < right && !Character.isLetterOrDigit(s.charAt(right)))
            right--;
          if (Character.compare(Character.toLowerCase(s.charAt(left)), Character.toLowerCase(s.charAt(right))) != 0)
            return false;
          left++;
          right--;
        }
        return true;
      }
    }


Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.