LeetCode Valid Palindrome

来源:互联网 发布:淘宝客服价格 编辑:程序博客网 时间:2024/04/30 15:09

Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.

For example,
"A man, a plan, a canal: Panama" is a palindrome.
"race a car" is not a palindrome.

Note:
Have you consider that the string might be empty? This is a good question to ask during an interview.

For the purpose of this problem, we define empty string as valid palindrome.

题意:给出一个字符中,只考虑数字和字符,忽略大小写,判断是不是回文串

思路:只保留数字,字符,并将字符转换成小写,然后反转与原来的字符串比较

public class Solution {    public boolean isPalindrome(String s) {        StringBuilder sb = new StringBuilder(s.length());                for (int i = 0, len = s.length(); i < len; i++) {            char ch = s.charAt(i);            if (Character.isLetterOrDigit(ch)) {                sb.append(Character.toLowerCase(ch));            }        }                String tmp = sb.toString();        return tmp.compareTo(sb.reverse().toString()) == 0;    }}


0 0
原创粉丝点击