解读java.lang.Character.isLetterOrDigit()的使用方式

 更新时间:2024年06月04日 10:51:44   作者:冬瓜的编程笔记  
这篇文章主要介绍了解读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()方法是把字符串转换为小写。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • RocketMQ消息过滤与查询的实现

    RocketMQ消息过滤与查询的实现

    这篇文章主要介绍了RocketMQ消息过滤与查询的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Spring Data JPA 实现多表关联查询的示例代码

    Spring Data JPA 实现多表关联查询的示例代码

    多表查询在spring data jpa中有两种实现方式,第一种是利用hibernate的级联查询来实现,第二种是创建一个结果集的接口来接收连表查询后的结果,这里介绍第二种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Java操作redis实现增删查改功能的方法示例

    Java操作redis实现增删查改功能的方法示例

    这篇文章主要介绍了Java操作redis实现增删查改功能的方法,涉及java操作redis数据库的连接、设置、增删改查、释放资源等相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • 基于Java中的数值和集合详解

    基于Java中的数值和集合详解

    下面小编就为大家带来一篇基于Java中的数值和集合详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • SpringCloud网关组件Gateway原理深度解析

    SpringCloud网关组件Gateway原理深度解析

    Spring Cloud Gateway是Spring Cloud微服务生态下的网关组件,一些基础的请求预处理的逻辑可以统一实现在网关这一层,这样业务服务只需要专注于处理业务逻辑即可,所以本文就带大家深度解析网关组件Gateway,需要的朋友可以参考下
    2023-07-07
  • Java中捕获线程异常的几种方式总结

    Java中捕获线程异常的几种方式总结

    这篇文章主要介绍了Java中捕获线程异常的几种方式总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • java基础之类初始化顺序示例解析

    java基础之类初始化顺序示例解析

    这篇文章主要为大家介绍了java基础之类初始化顺序示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Java中new与clone操作对象的比较方法举例

    Java中new与clone操作对象的比较方法举例

    这篇文章主要给大家介绍了关于Java中new与clone操作对象的比较方法,在java中对象的诞生是我们开发人员new出来的,对象的使用也是我们开发人员进行操作的,需要的朋友可以参考下
    2024-07-07
  • 关于Java中byte[] 和 String互相转换问题

    关于Java中byte[] 和 String互相转换问题

    这篇文章主要介绍了Java中byte[] 和 String互相转换问题,通过用例给大家介绍了通过String类将String转换成byte[]或者byte[]转换成String,具体实例代码跟随小编一起看看吧
    2022-01-01
  • SpringBoot程序打包失败(.jar中没有主清单属性)

    SpringBoot程序打包失败(.jar中没有主清单属性)

    在学习SpringBoot,打包SpringBoot程序后,在cmd运行出现了 某某某.jar中没有注清单属性,本文就来介绍一下原因以及解决方法,感兴趣的可以了解一下
    2023-06-06

最新评论