判断一个字符串是否为回文
时间: 2023-09-08 12:14:45 浏览: 193
判断一个字符串是否为回文可以通过如下方法实现:
1. 将字符串反转后和原字符串比较,如果相同则为回文。
2. 从字符串的两端开始比较,判断对应字符是否相同,直到中间位置,如果都相同则为回文。
以下是第二种方法的 Python 实现代码:
```python
def is_palindrome(s):
left = 0
right = len(s) - 1
while left < right:
if s[left] != s[right]:
return False
left += 1
right -= 1
return True
```
使用示例:
```python
s1 = "aba"
s2 = "abc"
print(is_palindrome(s1)) # True
print(is_palindrome(s2)) # False
```
相关问题
c语言编写函数判断一个字符串是否为回文运用指针函数并判断输入字符串是否为回文
在C语言中,我们可以利用指针和循环结构来编写一个函数来判断一个字符串是否是回文。回文是指正读反读都一样的字符串,比如"level"、"racecar"等。
下面是一个简单的C函数示例,它接受两个指向字符数组的指针作为参数,通过比较首尾字符是否相等来判断字符串是否为回文:
```c
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
bool is_palindrome(char *str1, char *str2) {
// 如果两个指针交叉点到达结束位置,则说明是回文
if (str1 >= str2)
return true;
// 比较两个指针所指的字符是否相等
while (*str1 == *str2) {
str1++;
str2--;
}
// 如果有不相等的字符,说明不是回文
return false;
}
int main() {
char input[] = "madam";
if (is_palindrome(input, input + strlen(input) - 1)) {
printf("%s is a palindrome.\n", input);
} else {
printf("%s is not a palindrome.\n", input);
}
return 0;
}
```
在这个例子中,`str1` 和 `str2` 分别指向字符串的开始和结束,然后向中心移动,如果发现有不匹配的字符则返回 `false`。如果没有找到不匹配的字符,说明整个字符串是回文,返回 `true`。
c语言编写函数判断一个字符串是否为回文运用指针函数并判断输入字符串是否为回文不使用bool
在C语言中,可以使用指针来判断一个字符串是否为回文。回文是指正读反读都一样的字符串,例如"madam"、"racecar"等。这里我们不使用布尔类型,而是通过比较字符来实现。下面是一个简单的函数示例:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
void is_palindrome(char *str);
int main() {
char input[100];
printf("Enter a string: ");
fgets(input, sizeof(input), stdin); // 防止换行符
input[strcspn(input, "\n")] = '\0'; // 移除换行符
if (is_palindrome(input)) {
printf("%s is a palindrome.\n", input);
} else {
printf("%s is not a palindrome.\n", input);
}
return 0;
}
// 指针函数判断回文
void is_palindrome(char *str) {
int start = 0;
int end = strlen(str) - 1;
while (start < end) { // 当两个指针指向的字符相等,继续向中间移动
if (str[start] != str[end]) {
return; // 如果不相等,直接返回,不是回文
}
start++;
end--;
}
printf("%s is a palindrome (using pointers)\n", str);
}
```
在这个例子中,`is_palindrome`函数接受一个字符串指针作为参数,通过两个指针分别从字符串的开始和结束位置向中间移动,并检查对应位置的字符是否相等。如果任何时候发现不相等,则立即返回非回文;当所有字符都匹配时,说明它是回文。
阅读全文