我是靠谱客的博主 酷炫航空,最近开发中收集的这篇文章主要介绍面试题18:有效的回文(Java版),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目:给定一个字符串,请判断它是不是回文。假设只需要考 虑字母和数字字符,并忽略大小写。例如,"Was it a cat I saw?"是一个回文字符串,而"race a car"不是回文字符串。

// 通过两个指针在字符串头部和尾部分别同时向中间移动
// 每移动一次判断是否为子母和数字,如果是字母和数字
// 则将字母同时转化为小写比较(因为忽略字母大小写)
// 如果不是字母和数字则对应指针再往中间移动
public boolean isPalindrome(String s) {
    int i = 0;
    int j = s.length() - 1;
    while (i < j) {
        char ch1 = s.charAt(i);
        char ch2 = s.charAt(j);
        if (!Character.isLetterOrDigit(ch1)) {
            i++;
        } else if (!Character.isLetterOrDigit(ch2)) {
            j--;
        } else {
            ch1 = Character.toLowerCase(ch1);
            ch2 = Character.toLowerCase(ch2);
            if (ch1 != ch2) {
                return false;
            }
            i++;
            j--;
        }
    }
    return true;
}

最后

以上就是酷炫航空为你收集整理的面试题18:有效的回文(Java版)的全部内容,希望文章能够帮你解决面试题18:有效的回文(Java版)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部