题目描述 对于一个字符串如果从前往后读和从后往前读是一样的,那么我们就叫他回文串。 输入格式 输入数据有多组,每组包括一个字符串s(s长度≤50,字符串中不包含空格)。 输出格式 对于每个字符串输出其是否是回文串。如果是回文串输出“Y”,否则输出“N”。
时间: 2024-10-20 19:07:37 浏览: 48
对python判断是否回文数的实例详解
5星 · 资源好评率100%
这是一个简单的字符串判断问题,我们需要编写一个程序来检查给定的字符串(忽略空格和大小写)是否满足回文的定义,即正读和反读是一致的。这里可以采用双指针的方法,一个从头开始,另一个从尾开始,逐个比较字符直到两个指针相遇或交叉,如果在这个过程中发现有不匹配的字符,则该字符串不是回文;如果所有字符都匹配了,则它是回文。
以下是一个Java解决方案:
```java
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextLine()) {
String s = scanner.nextLine().toLowerCase().replaceAll("\\s", ""); // 将字符串转为小写并移除空格
if (isPalindrome(s)) {
System.out.println("Y");
} else {
System.out.println("N");
}
}
scanner.close();
}
// 判断字符串是否为回文
public static boolean isPalindrome(String str) {
int left = 0, right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false; // 发现不匹配字符,返回false
}
left++;
right--;
}
return true; // 如果没有提前返回,说明是回文
}
}
```
阅读全文