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

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

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");

           }

       }

   }

相关文章
|
5月前
|
算法
leetcode1刷题打卡
leetcode1刷题打卡
36 0
|
5月前
|
Java
刷题之Leetcode24题(超级详细)
刷题之Leetcode24题(超级详细)
24 0
|
5月前
刷题之Leetcode54题(超级详细)
刷题之Leetcode54题(超级详细)
25 0
|
5月前
|
索引
刷题之Leetcode209题(超级详细)
刷题之Leetcode209题(超级详细)
23 0
|
5月前
|
测试技术 索引
leetcode707刷题打卡
leetcode707刷题打卡
28 0
|
Java 测试技术 C语言
leetcode刷题(3)
各位朋友们大家好,今天是我leedcode刷题系列的第三篇,废话不多说,直接进入主题。
|
算法 API C++