设计一个程序判断一个字符串是否为回文
时间: 2023-12-13 18:50:24 浏览: 85
方法一:使用循环逐一比较字符
1. 定义一个函数,输入为一个字符串。
2. 使用两个指针,一个指向字符串的起始位置,一个指向字符串的末尾位置。
3. 循环比较两个指针指向的字符,如果不相等,则不是回文字符串,返回False。
4. 如果两个指针重合了,说明整个字符串都比较完了,是回文字符串,返回True。
代码如下:
```python
def is_palindrome(s):
start = 0
end = len(s) - 1
while start < end:
if s[start] != s[end]:
return False
start += 1
end -= 1
return True
```
方法二:使用切片进行比较
1. 定义一个函数,输入为一个字符串。
2. 使用切片[::-1]将字符串倒序,然后和原字符串进行比较。
3. 如果两个字符串相等,则是回文字符串,返回True,否则返回False。
代码如下:
```python
def is_palindrome(s):
return s == s[::-1]
```
测试代码如下:
```python
print(is_palindrome('abba')) # True
print(is_palindrome('abcba')) # True
print(is_palindrome('hello')) # False
```
以上两种方法都可以判断一个字符串是否为回文字符串,但是方法二使用切片更加简洁明了。
阅读全文