编写一个函数isFun(str),接受一个字符串参数str,函数作用为判断该字符串是否为正序与倒序相同的字符串,其结果返回一个布尔值。
时间: 2024-11-22 19:37:45 浏览: 5
你可以编写如下的Python函数来实现这个功能:
```python
def isFun(str):
# 首先检查字符串长度是否为奇数,因为奇数长度的字符串无法同时满足正序和倒序相同的要求
if len(str) % 2 != 0:
return False
# 然后将字符串转换为字符列表,并对半分割以便比较正序和倒序部分
half_length = len(str) // 2
first_half = str[:half_length]
second_half = str[half_length:]
# 比较两部分是否相等
return first_half == second_half[::-1]
# 测试例子
print(isFun("abcba")) # 输出 True,因为 "abcba" 正序和倒序都是 "abcba"
print(isFun("abccba")) # 输出 False,虽然正序是 "abccba",倒序是 "acbcb",不完全相同
```
这个`isFun`函数首先检查输入字符串的长度,如果是奇数则直接返回False。接着它将字符串分为两部分,然后比较这两部分是否一一对应相等,如果相等,则说明原始字符串既是正序又是倒序相同的,返回True;否则返回False。
相关问题
用java编写一个函数isFun(str),接受一个字符串参数str,函数作用为判断该字符串是否为正序与倒序相同的字符串,其结果返回一个布尔值。
在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`。
使用c语言编写一个程序,题目描述:编写一个如下声明的递归函数,使得字符串Str倒序,并在主程序中调用该函数测试效果 函数声明:void Reverse(string & Str);输入格式:输入为连续多行的多个字符串,一个字符串一行,每个字符串由阿拉伯数字、字母或特殊字符组成,字符串中不包括空格。输出格式:输出为输入倒序后的字符串,一行输出一个字符串,对应于一行输入字符串的倒序字符串。输出为输入倒序后的字符串,一行输出一个字符串,对应于一行输入字符串的倒序字符串。
以下是使用C语言编写的程序,实现字符串倒序的功能:
```c
#include <stdio.h>
#include <string.h>
// 递归函数,用于实现字符串倒序
void Reverse(char *str)
{
int len = strlen(str);
if (len <= 1) {
return;
}
char tmp = str[0]; // 交换字符串的首尾字符
str[0] = str[len-1];
str[len-1] = tmp;
Reverse(str+1); // 递归调用
}
int main()
{
char str[100];
while (fgets(str, sizeof(str), stdin)) {
str[strlen(str)-1] = '\0'; // 去掉换行符
Reverse(str);
printf("%s\n", str);
}
return 0;
}
```
程序使用了递归函数实现字符串的倒序。在主函数中,使用fgets读取输入字符串,去掉换行符后,调用递归函数Reverse实现倒序,并输出结果。
阅读全文