用java编写一个函数isFun(str),接受一个字符串参数str,函数作用为判断该字符串是否为正序与倒序相同的字符串,其结果返回一个布尔值。
时间: 2024-11-22 17:37:44 浏览: 13
在Java中,你可以编写如下的`isFun`函数来实现这个功能:
```java
public class Main {
public static boolean isFun(String str) {
// 首先检查字符串长度是否为奇数,因为偶数长度的字符串反转后依然相等
if (str.length() % 2 != 0) {
return false;
}
// 使用两个指针,一个从头开始,一个从尾部开始,逐字符比较
int i = 0, j = str.length() - 1;
while (i < j) {
// 如果当前字符不等于对应位置反向的字符,则不是正序和倒序相同
if (str.charAt(i) != str.charAt(j)) {
return false;
}
i++;
j--;
}
// 所有字符都匹配了,说明是正序和倒序相同的字符串
return true;
}
public static void main(String[] args) {
System.out.println(isFun("abcba")); // 输出:true
System.out.println(isFun("hello")); // 输出:false
}
}
```
这个`isFun`函数会遍历字符串的一半,如果发现有任何一对对应的字符不相等,它就立即返回`false`;如果所有字符都一一对应并且相等,那么返回`true`。
阅读全文