【牛客刷题】每日一练——回文字符串

发布于:2022-12-30 ⋅ 阅读:(248) ⋅ 点赞:(0)

hello,点进来的小伙伴们,你们好呐!

系列专栏:【牛客刷题】

作者简介:一名双非本科的在读大三小白,我很平凡,学会努力!

给大家推荐一个超级好用的刷题平台——牛客网!

点击链接注册,开启刷题之路!

一、验证回文字符串

编写程序,验证一个字符串是否为回文串:是否从前读它和从后读它都是一样的。

例如,mom,dad是回文串。该程序接收用户输入的字符串,判断是否为回文串,然后将判断的结果输出。

输入格式:

输入在一行中给出一个字符串。

输出格式:

如果输入的字符串为回文串,则输出yes;否则输出no。

输入样例:

在这里给出一组输入。例如:

mom

输出样例:

在这里给出相应的输出。例如:

yes

解题思路:这题我感觉用java语言实现比较方便,因为java自带的很多的功能函数,这题我们首先判断输入的字符串有无除了数字 字母之外的其他字符,然后把大写转换为小写字母(忽略大小写) ,最后通过reverse()方法反转字符串之后在比较即可!

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        StringBuilder str1 = new StringBuilder();
        int len = str.length();
        for (int i = 0; i < len; i++) {
            char ch = str.charAt(i);
            //判断字符是否为字母字符和数字字符
            if(Character.isLetterOrDigit(ch)){
                str1.append(Character.toLowerCase(ch));
            }
        }
        StringBuffer str2 = new StringBuffer(str1).reverse();
        if(str1.toString().equals(str2.toString())){
            System.out.println("yes");
        }
        else{
            System.out.println("no");
        }
    }
}


网站公告

今日签到

点亮在社区的每一天
去签到