输入一个字符串,判断其是否是回文。所谓回文是指一个字符串首尾颠倒后与原字符串相同,即是回文。例如:abcdefedcba是回文,”上海自来水来自海上”是回文,abcgba不是回文。
时间: 2024-02-17 21:02:54 浏览: 14
回文字符串:判断一个是否是回文字符串。回文字符串是指正序(从左向右)和倒序(从右向左)读都是一样的字符串。
5星 · 资源好评率100%
好的,这是一个很典型的回文字符串判断问题。我可以给您提供一个简单的 Python 代码来实现这个功能:
```python
def is_palindrome(s):
s = s.lower() # 将字符串转换为小写,方便比较
left, right = 0, len(s) - 1 # 定义左右两个指针
while left < right:
if not s[left].isalnum(): # 如果左边的字符不是字母或数字,跳过
left += 1
elif not s[right].isalnum(): # 如果右边的字符不是字母或数字,跳过
right -= 1
elif s[left] != s[right]: # 如果左右两边的字符不相等,说明不是回文
return False
else: # 如果左右两边的字符相等,继续比较
left += 1
right -= 1
return True # 如果最终左右两个指针相遇,说明是回文
# 测试
print(is_palindrome("abcdefedcba")) # True
print(is_palindrome("上海自来水来自海上")) # True
print(is_palindrome("abcgba")) # False
```
这个函数可以处理大小写字母和数字,并且忽略其他字符(如空格、标点符号等)。
阅读全文