解讀java.lang.Character.isLetterOrDigit()的使用方式
java.lang.Character.isLetterOrDigit()的用法
在刷力扣題的時候遇到了一道題想了一會兒時間做出來了,然而時間卻超了。
我在查看題解的時候發(fā)現(xiàn)用到了API中的一個方法:Character.isLetterOrDigit()。
這個方法可真是戳中了我的知識盲點。
我查詢了一些資料知道了這個方法的用法,發(fā)個文章記錄一下。
java.lang.Character.isLetterOrDigit(char ch) 這個方法確定指定的字符是否為字母或數(shù)字。
字符被認(rèn)為是字母或數(shù)字,如果字符是字母或數(shù)字則此方法返回true,否則為false。
下面用我刷的這個力扣題作為例子講解一下。
題目:驗證回文數(shù)
如果在將所有大寫字符轉(zhuǎn)換為小寫字符、并移除所有非字母數(shù)字字符之后,短語正著讀和反著讀都一樣。
則可以認(rèn)為該短語是一個 回文串 。
字母和數(shù)字都屬于字母數(shù)字字符。
給你一個字符串 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;
}
}對于文中出現(xiàn)的charAt()方法是查找字符串中指定的位置的字符。
Character.toLowerCase()方法是把字符串轉(zhuǎn)換為小寫。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中double數(shù)值保留兩位小數(shù)的4種實現(xiàn)方式舉例
在Java編程中,我們經(jīng)常遇到需要對double類型的浮點數(shù)進行精確截斷或四舍五入保留兩位小數(shù)的需求,這篇文章主要給大家介紹了關(guān)于Java中double數(shù)值保留兩位小數(shù)的4種實現(xiàn)方式,需要的朋友可以參考下2024-07-07
Spring中的DeferredImportSelector實現(xiàn)詳解
這篇文章主要介紹了Spring中的DeferredImportSelector實現(xiàn)詳解,兩個官方的實現(xiàn)類AutoConfigurationImportSelector和ImportAutoConfigurationImportSelector都是Spring Boot后新增的實現(xiàn),需要的朋友可以參考下2024-01-01
springAOP中用joinpoint獲取切入點方法的參數(shù)操作
這篇文章主要介紹了springAOP中用joinpoint獲取切入點方法的參數(shù)操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06

