主题:给出字符串,验证它是否是回文串。 只考虑字母和数字,字母的大小写可以忽略。
说明:主题将空字符串定义为有效的回文字符串。
示例 1:
键入: 'A man,a plan,a canal: Panama '
输出: true
示例 2:
键入: 'race a car '
输出:假
代码如下所示。 class solution { publicbooleanispalindrome (strings ) { int left=0,right=s.length )-1; while(leftright ) while(leftright )! character.isletterordigit (s.charat ) left ) ) ) left; wile (左灯光! character.isletterordigit (s.charat (right ) ) ) ) right--; if (character.to lower case (s.charat ) left )!=character.to lower case (s.charat ) right ) ) return false; 左; right--; } return true; }}解读:这里使用的是双指针方式,但也可以使用正则或递归方式
1.使用双指针时,必须分别在开头和结尾定义这两个指针。
在2.题意中,如果只考虑数字和字母,就有必要忽略特殊字符,这里使用了Java.lang.character.isletterordigit (charch )
如果确定字符是字母或数字,且不是is letter (代码点)或isdigit,则返回true。
若要指定包含3.指针的字符,请使用String.charAt ()方法
charAt ) )方法用于返回指定索引处的字符0。
4.题意将Java.lang.character.to lower case ()转换为小写,忽略大小写,并在比较时将其全部转换为小写或大写
toLowerCase ()方法用于将大小写转换为小写。
使用toUpperCase ()方法将小写字符转换为大写字符。