题目
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
1 | 输入: "A man, a plan, a canal: Panama" |
示例 2:
1 | 输入: "race a car" |
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
Note: For the purpose of this problem, we define empty string as valid palindrome.
Example 1:
1 | Input: "A man, a plan, a canal: Panama" |
Example 2:
1 | Input: "race a car" |
解题方法
头尾扫描,借用getCharType
方法判断字符的类型,非数字字母字符则跳过,大写字母则转化为小写字母,从而获得头尾两个数字字母类型字符。然后判断头尾字符是否相等,不相等则返回False
,直到头尾相遇返回True
。这段代码跑了6ms,超过了92.68%的Java提交。
1 | public class Solution { |
共勉
今日事,今日毕。