解讀java.lang.Character.isLetterOrDigit()的使用方式
java.lang.Character.isLetterOrDigit()的用法
在刷力扣題的時(shí)候遇到了一道題想了一會(huì)兒時(shí)間做出來了,然而時(shí)間卻超了。
我在查看題解的時(shí)候發(fā)現(xiàn)用到了API中的一個(gè)方法:Character.isLetterOrDigit()。
這個(gè)方法可真是戳中了我的知識(shí)盲點(diǎn)。
我查詢了一些資料知道了這個(gè)方法的用法,發(fā)個(gè)文章記錄一下。
java.lang.Character.isLetterOrDigit(char ch) 這個(gè)方法確定指定的字符是否為字母或數(shù)字。
字符被認(rèn)為是字母或數(shù)字,如果字符是字母或數(shù)字則此方法返回true,否則為false。
下面用我刷的這個(gè)力扣題作為例子講解一下。
題目:驗(yàn)證回文數(shù)
如果在將所有大寫字符轉(zhuǎn)換為小寫字符、并移除所有非字母數(shù)字字符之后,短語正著讀和反著讀都一樣。
則可以認(rèn)為該短語是一個(gè) 回文串 。
字母和數(shù)字都屬于字母數(shù)字字符。
給你一個(gè)字符串 s,如果它是 回文串 ,返回 true ;否則,返回 false 。

class Solution {
//運(yùn)用左右指針只需要遍歷字符串一次,并且在遍歷字符串時(shí)進(jìn)行判斷是否為回文串。
public boolean isPalindrome(String s) {
int left = 0, reght = s.length() - 1;//運(yùn)用左右指針,分別指向字符串的左右兩端
while(left < reght) {
while(left < reght && !Character.isLetterOrDigit(s.charAt(left))) {
left++;//如果是不是字符則左指針向后移動(dòng)。
}
while(left < reght && !Character.isLetterOrDigit(s.charAt(reght))) {
reght--;//如果不是字符則右指針向前移動(dòng)。
}
if(Character.toLowerCase(s.charAt(left)) != Character.toLowerCase(s.charAt(reght))) {
return false;//判斷是否為回文串。若不是退出。
}
left++;
reght--;
}
return true;
}
}對(duì)于文中出現(xiàn)的charAt()方法是查找字符串中指定的位置的字符。
Character.toLowerCase()方法是把字符串轉(zhuǎn)換為小寫。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Data JPA 實(shí)現(xiàn)多表關(guān)聯(lián)查詢的示例代碼
多表查詢?cè)趕pring data jpa中有兩種實(shí)現(xiàn)方式,第一種是利用hibernate的級(jí)聯(lián)查詢來實(shí)現(xiàn),第二種是創(chuàng)建一個(gè)結(jié)果集的接口來接收連表查詢后的結(jié)果,這里介紹第二種方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07
Java操作redis實(shí)現(xiàn)增刪查改功能的方法示例
這篇文章主要介紹了Java操作redis實(shí)現(xiàn)增刪查改功能的方法,涉及java操作redis數(shù)據(jù)庫的連接、設(shè)置、增刪改查、釋放資源等相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
SpringCloud網(wǎng)關(guān)組件Gateway原理深度解析
Spring Cloud Gateway是Spring Cloud微服務(wù)生態(tài)下的網(wǎng)關(guān)組件,一些基礎(chǔ)的請(qǐng)求預(yù)處理的邏輯可以統(tǒng)一實(shí)現(xiàn)在網(wǎng)關(guān)這一層,這樣業(yè)務(wù)服務(wù)只需要專注于處理業(yè)務(wù)邏輯即可,所以本文就帶大家深度解析網(wǎng)關(guān)組件Gateway,需要的朋友可以參考下2023-07-07
Java中new與clone操作對(duì)象的比較方法舉例
這篇文章主要給大家介紹了關(guān)于Java中new與clone操作對(duì)象的比較方法,在java中對(duì)象的誕生是我們開發(fā)人員new出來的,對(duì)象的使用也是我們開發(fā)人員進(jìn)行操作的,需要的朋友可以參考下2024-07-07
關(guān)于Java中byte[]?和?String互相轉(zhuǎn)換問題
這篇文章主要介紹了Java中byte[]?和?String互相轉(zhuǎn)換問題,通過用例給大家介紹了通過String類將String轉(zhuǎn)換成byte[]或者byte[]轉(zhuǎn)換成String,具體實(shí)例代碼跟隨小編一起看看吧2022-01-01
SpringBoot程序打包失敗(.jar中沒有主清單屬性)
在學(xué)習(xí)SpringBoot,打包SpringBoot程序后,在cmd運(yùn)行出現(xiàn)了 某某某.jar中沒有注清單屬性,本文就來介紹一下原因以及解決方法,感興趣的可以了解一下2023-06-06

