解读java.lang.Character.isLetterOrDigit()的使用方式
作者:冬瓜的编程笔记
这篇文章主要介绍了解读java.lang.Character.isLetterOrDigit()的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
java.lang.Character.isLetterOrDigit()的用法
在刷力扣题的时候遇到了一道题想了一会儿时间做出来了,然而时间却超了。
我在查看题解的时候发现用到了API中的一个方法:Character.isLetterOrDigit()。
这个方法可真是戳中了我的知识盲点。
我查询了一些资料知道了这个方法的用法,发个文章记录一下。
java.lang.Character.isLetterOrDigit(char ch) 这个方法确定指定的字符是否为字母或数字。
字符被认为是字母或数字,如果字符是字母或数字则此方法返回true,否则为false。
下面用我刷的这个力扣题作为例子讲解一下。
题目:验证回文数
如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。
则可以认为该短语是一个 回文串 。
字母和数字都属于字母数字字符。
给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。
class Solution { //运用左右指针只需要遍历字符串一次,并且在遍历字符串时进行判断是否为回文串。 public boolean isPalindrome(String s) { int left = 0, reght = s.length() - 1;//运用左右指针,分别指向字符串的左右两端 while(left < reght) { while(left < reght && !Character.isLetterOrDigit(s.charAt(left))) { left++;//如果是不是字符则左指针向后移动。 } while(left < reght && !Character.isLetterOrDigit(s.charAt(reght))) { reght--;//如果不是字符则右指针向前移动。 } if(Character.toLowerCase(s.charAt(left)) != Character.toLowerCase(s.charAt(reght))) { return false;//判断是否为回文串。若不是退出。 } left++; reght--; } return true; } }
对于文中出现的charAt()方法是查找字符串中指定的位置的字符。
Character.toLowerCase()方法是把字符串转换为小写。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。