题解 | #回文昵称#

回文昵称

https://www.nowcoder.com/practice/5ac63bfdf73c473d9dee7e3294551563

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param s string字符串
     * @return bool布尔型
     */
    public boolean isPalindromeNickname (String s) {
// 去除非字母数字字符并转换为小写
        s = s.replaceAll("[^a-zA-Z0-9]", "").toLowerCase();

        // 判断是否为回文字符串
        int left = 0;
        int right = s.length() - 1;
        while (left < right) {
            if (s.charAt(left) != s.charAt(right)) {
                return false;
            }
            left++;
            right--;
        }

        return true;
    }

    }

Java语言

该题考察的主要知识点包括:

  1. 字符串操作:使用字符串的方法进行字符处理、转换和比较。
  2. 正则表达式:使用正则表达式来去除非字母数字字符。
  3. 循环和双指针法:通过循环和双指针法判断字符串是否为回文。

代码解释:

  1. 使用 replaceAll("[^a-zA-Z0-9]", "") 方法通过正则表达式去除昵称字符串中的非字母数字字符。
  2. 将字符串转换为小写,以便进行大小写忽略的比较。
  3. 初始化左右两个指针,通过循环和比较字符来判断字符串是否为回文。
  4. 如果左右指针指向的字符不相等,说明不是回文,返回 false。
  5. 如果循环结束后没有返回 false,则说明字符串是回文,返回 true。
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 13:05
点赞 评论 收藏
分享
程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务