实现一个函数,判断字符串是否是回文。如果是则返回1,否则返回0。
时间: 2023-06-19 07:08:26 浏览: 92
以下是 Python 代码实现:
```python
def is_palindrome(s):
"""
判断字符串是否是回文
"""
start = 0
end = len(s) - 1
while start < end:
if s[start] != s[end]:
return 0
start += 1
end -= 1
return 1
# 测试
print(is_palindrome('racecar')) # 输出 1
print(is_palindrome('hello')) # 输出 0
```
该函数先定义了两个指针 start 和 end,分别指向字符串的首尾位置。然后通过 while 循环,每次比较 start 和 end 指向的字符是否相同,若不同则返回 0,否则将指针向中间移动。当 start >= end 时,说明已经比较完毕,字符串是回文,返回 1。
相关问题
本题要求实现一个函数判断字符串是否是回文如果是则返回一否则返回零
好的,下面是代码实现:
```python
def is_palindrome(s):
return s == s[::-1]
```
使用方法:
```python
s = input("请输入一个字符串:")
if is_palindrome(s):
print("是回文")
else:
print("不是回文")
```
这样就可以判断字符串是否为回文了。
c语言实现一个函数,判断字符串是否是回文。如果是则返回1,否则返回0。
可以使用双指针法来实现。
具体思路是,定义两个指针,一个指向字符串的开头,一个指向字符串的结尾,然后分别向中间移动,每次比较两个指针所指向的字符是否相同,若不同,则字符串不是回文,返回0;若相同,则继续移动指针,直到两个指针相遇,此时字符串是回文,返回1。
下面是代码实现:
```
#include <stdio.h>
#include <string.h>
int is_palindrome(char *str) {
int len = strlen(str);
char *left = str;
char *right = str + len - 1;
while (left < right) {
if (*left != *right) {
return 0;
}
left++;
right--;
}
return 1;
}
int main() {
char str1[] = "abcba";
char str2[] = "hello";
printf("%d\n", is_palindrome(str1)); // 输出 1
printf("%d\n", is_palindrome(str2)); // 输出 0
return 0;
}
```
阅读全文
相关推荐














