回文是从前向后和从后向前读起来都一样的,请编写一个函数,判断一个字符串是否为回文完整代码
时间: 2024-02-15 13:03:57 浏览: 74
当然可以!以下是 Python 代码实现:
```python
def is_palindrome(s):
"""
判断一个字符串是否为回文
"""
# 去除空格并转换为小写字母
s = s.replace(' ', '').lower()
# 判断是否为回文
return s == s[::-1]
```
这个函数首先会将字符串去除空格并转换为小写字母,然后利用 Python 的切片特性来判断字符串是否为回文。如果字符串与将其反转后的结果相同,则说明它是回文,返回 True,否则返回 False。
你可以调用这个函数来判断一个字符串是否为回文,例如:
```python
string1 = "A man a plan a canal Panama"
string2 = "Hello, world!"
print(is_palindrome(string1)) # True
print(is_palindrome(string2)) # False
```
希望这个函数能够满足你的需求!
相关问题
回文是从前向后和从后向前读起来都一样的,请编写一个函数,判断一个字符串是否为回文C语言完整代码
当然可以!以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int is_palindrome(char *s) {
int len = strlen(s);
char str[len + 1];
int i, j, k = 0;
// 去除空格并转换为小写字母
for (i = 0; i < len; i++) {
if (isalpha(s[i])) {
str[k++] = tolower(s[i]);
}
}
str[k] = '\0';
// 判断是否为回文
for (i = 0, j = k - 1; i < j; i++, j--) {
if (str[i] != str[j]) {
return 0;
}
}
return 1;
}
int main() {
char string1[] = "A man a plan a canal Panama";
char string2[] = "Hello, world!";
printf("%d\n", is_palindrome(string1)); // 1
printf("%d\n", is_palindrome(string2)); // 0
return 0;
}
```
这个函数首先会将字符串去除空格并转换为小写字母,然后利用双指针法来判断字符串是否为回文。如果字符串与将其反转后的结果相同,则说明它是回文,返回 1,否则返回 0。
你可以调用这个函数来判断一个字符串是否为回文,例如:
```c
char string1[] = "A man a plan a canal Panama";
char string2[] = "Hello, world!";
printf("%d\n", is_palindrome(string1)); // 1
printf("%d\n", is_palindrome(string2)); // 0
```
希望这个函数能够满足你的需求!
C语言:回文是从前向后和从后向前读起来都一样的,请编写一个函数,判断一个字符串是否为回文
好的,以下是一个判断字符串是否为回文的 C 语言函数:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[]) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
return 0;
}
}
return 1;
}
int main() {
char str[] = "abcba";
if (isPalindrome(str)) {
printf("%s is a palindrome.\n", str);
} else {
printf("%s is not a palindrome.\n", str);
}
return 0;
}
```
在该函数中,我们首先计算字符串的长度,然后通过循环遍历字符串的前一半,判断其是否与对应的后一半相同。如果有任何一个字符不相同,则该字符串不是回文。如果所有字符都相同,则该字符串是回文。
阅读全文