解读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()方法是把字符串转换为小写。

总结

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

相关文章

  • 基于Java中最常用的集合类框架之HashMap(详解)

    基于Java中最常用的集合类框架之HashMap(详解)

    下面小编就为大家带来一篇基于Java中最常用的集合类框架之HashMap(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • SpringBoot实现接口版本控制的示例代码

    SpringBoot实现接口版本控制的示例代码

    这篇文章主要介绍了springboot如何实现接口版本控制,接口版本控制,比如微服务请求中某个接口需要升级,正常做法是升级我们的版本,文中有详细的代码示例供大家参考,具有一定的参考价值,需要的朋友可以参考下
    2024-03-03
  • 为何Java8需要引入新的日期与时间库

    为何Java8需要引入新的日期与时间库

    这篇文章主要给大家介绍了关于Java8为什么需要引入新的日期与时间库的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • SpringBoot 如何根据不同profile选择不同配置

    SpringBoot 如何根据不同profile选择不同配置

    这篇文章主要介绍了SpringBoot 如何根据不同profile选择不同配置的操作方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • IDEA的崛起自己定义快捷生成代码块的详细步骤

    IDEA的崛起自己定义快捷生成代码块的详细步骤

    这篇文章主要介绍了IDEA的崛起自己定义快捷生成代码块的详细步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • spring boot整合netty的实现方法

    spring boot整合netty的实现方法

    这篇文章主要介绍了spring boot整合netty的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • CountDownLatch和Atomic原子操作类源码解析

    CountDownLatch和Atomic原子操作类源码解析

    这篇文章主要为大家介绍了CountDownLatch和Atomic原子操作类的源码解析以及理解应用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • spring,mybatis事务管理配置与@Transactional注解使用详解

    spring,mybatis事务管理配置与@Transactional注解使用详解

    这篇文章主要介绍了spring,mybatis事务管理配置与@Transactional注解使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 详解Spring Data JPA中Repository的接口查询方法

    详解Spring Data JPA中Repository的接口查询方法

    repository代理有两种方式从方法名中派生出特定存储查询:通过直接从方法名派生查询和通过使用一个手动定义的查询。本文将通过示例详细讲解Spring Data JPA中Repository的接口查询方法,需要的可以参考一下
    2022-04-04
  • Java 内存安全问题的注意事项

    Java 内存安全问题的注意事项

    内存安全问题是每个程序员开发时都需要面对的问题,本文介绍了JVM管理内存的原理以及内存安全问题需要注意的地方,有此需求的朋友可以参考下本文
    2021-06-06

最新评论