写一个算法判定给定的字符向量是否为回文
时间: 2024-10-25 15:10:57 浏览: 21
JS使用栈判断给定字符串是否是回文算法示例
5星 · 资源好评率100%
判断一个字符向量(字符串)是否为回文,可以采用双指针法,即从两端开始同时向中间移动,比较对应位置的字符是否相等。如果所有对称的字符都匹配,则该字符串是回文。
下面是一个简单的Python算法:
```python
def is_palindrome(s):
# 将字符串转换为小写并移除非字母数字字符
s = ''.join(e for e in s.lower() if e.isalnum())
# 定义两个指针,一个从左开始,一个从右结束
left, right = 0, len(s) - 1
while left < right:
# 如果左右指针指向的字符不相等,说明不是回文
if s[left] != s[right]:
return False
# 否则,将指针向中间移动
left += 1
right -= 1
# 如果所有的字符都检查过了且都相等,说明是回文
return True
# 示例
print(is_palindrome("A man, a plan, a canal: Panama")) # 输出: True
```
阅读全文