用Java写判断回文
时间: 2024-09-18 17:08:01 浏览: 38
在Java中,判断一个字符串是否为回文可以使用双指针法或者反转比较法。以下是两种常见方法的示例:
1. 双指针法:
```java
public boolean isPalindrome(String str) {
int left = 0;
int right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
```
在这个方法里,我们从字符串两端开始比较字符,如果发现有不相等的,则不是回文;否则,当左指针大于等于右指针时,说明它是回文。
2. 反转比较法(创建新的字符串并与原字符串对比):
```java
public boolean isPalindrome(String str) {
String reversedStr = new StringBuilder(str).reverse().toString();
return str.equals(reversedStr);
}
```
这里先通过`StringBuilder`将输入的字符串反转,然后检查反转后的字符串是否与原始字符串相等。
相关问题
java中判断回文数字
你好!关于你的问题,以下是 Java 中判断回文数字的代码示例:
```
public static boolean isPalindrome(int num) {
if (num < 0) {
return false;
}
int temp = num;
int reverseNum = 0;
while (temp > 0) {
reverseNum = reverseNum * 10 + temp % 10;
temp = temp / 10;
}
return num == reverseNum;
}
```
这个函数会接受一个整数,返回一个布尔值,表示这个整数是否是回文数字。如果是回文数字,函数会返回 true,否则返回 false。
java判断回文
判断一个字符串是否是回文可以使用双指针的方式,一个指针从字符串的起始位置开始,另一个指针从字符串的末尾位置开始,逐个比较字符是否相同。如果比较过程中出现字符不同,则该字符串不是回文;如果比较过程中所有字符都相同,则该字符串是回文。
以下是Java实现代码:
```java
public static boolean isPalindrome(String str) {
if (str == null) {
return false;
}
int left = 0;
int right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
```
示例:
```java
String str = "racecar";
boolean isPalindrome = isPalindrome(str);
System.out.println(isPalindrome); // true
```
注意:以上实现方式忽略了字符串中的空格和标点符号。如果需要考虑这些情况,可以使用正则表达式或其他方法进行处理。
阅读全文