125. 验证回文串

这题主要是讲几个String比较操蛋的API

  • toLowerCase
    • 如果String中不存在需要转换的字符,那么返回this指针(自己)
    • 如果存在需要转换的字符,新创建String对象
  • toUpperCase (同上)
  • replaceAll
    • 替换String中的原字符,跟换为新字符
class Solution {
    public boolean isPalindrome(String s) {
        s = s.toLowerCase();
        // 只保留字母, 数字
        s = s.replaceAll("[^a-z|^0-9]", "");
        int len = s.length(), l = 0, r = len - 1;
        while(l < r) {
            if (s.charAt(l++) != s.charAt(r--)) return false;
        }
        return true;
    }
}

你可能感兴趣的:(java,算法,数据结构)