j ava回文串判断
时间: 2024-10-13 15:02:11 浏览: 54
Java中判断回文串通常是指检查一个字符串是否从前往后读和从后往前读是一样的,即字符串是正序和反序都相同的。有多种方法可以实现这个功能,以下是其中一种常见的方法:
```java
public boolean isPalindrome(String str) {
// 首先移除字符串中的空格并转化为小写,以便忽略大小写和空格的影响
str = str.toLowerCase().replace(" ", "");
// 使用双指针技术,一个指针从左开始,另一个指针从右结束,逐个比较字符
int left = 0;
int right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false; // 如果发现不同的字符,说明不是回文
}
left++;
right--;
}
return true; // 如果遍历完都没有发现不同的字符,则是回文串
}
```
相关问题
j ava回文数字判断
在Java中,判断一个数字是否是回文数字可以通过将数字反转后与原数字比较来实现。回文数字是指正读和反读都相同的数字。具体步骤如下:
1. 首先判断输入的数字是否为负数,如果是,则直接返回false,因为负数不可能是回文数字。
2. 对数字进行反转。可以通过循环不断取出数字的最后一位,并将其加到反转后的数字中。
3. 在反转的过程中,如果反转后的数字已经超过了原数字,说明反转过程可以停止了,因为已经不可能是回文数字了。
4. 最后,比较原数字和反转后的数字是否相同,如果相同,则该数字是回文数字。
下面是一个简单的Java代码示例来实现这个逻辑:
```java
public class PalindromeNumber {
public static boolean isPalindrome(int x) {
// 负数不是回文数字
if (x < 0) return false;
int original = x; // 存储原始数字
int reversed = 0; // 存储反转后的数字
while (x > 0) {
int lastDigit = x % 10; // 获取最后一位数字
reversed = reversed * 10 + lastDigit; // 将最后一位数字加到反转后的数字中
x /= 10; // 移除已处理的最后一位数字
}
// 比较原始数字和反转后的数字是否相同
return original == reversed;
}
public static void main(String[] args) {
System.out.println(isPalindrome(121)); // 输出 true
System.out.println(isPalindrome(-121)); // 输出 false
System.out.println(isPalindrome(10)); // 输出 false
}
}
```
j ava字符串非空判断
在Java中,可以使用以下语句判断一个字符串是否为空:
```java
String str = "Hello World";
if(str != null && !str.isEmpty()) {
// 字符串非空
} else {
// 字符串为空
}
```
其中,`str != null`用于判断字符串是否为null,`!str.isEmpty()`用于判断字符串是否为空字符串。如果字符串既不为null,也不为空字符串,则判断为非空。
阅读全文