回文是指正读、反读均相同的字符序列,如"abba"和"abdba"均是回文,但"good"不是回文。试写一个算法,判定给定的字符向量是否为回文。
时间: 2023-06-17 16:02:08 浏览: 93
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
5星 · 资源好评率100%
可以使用双指针法来判断一个字符向量是否为回文。具体实现如下:
1. 定义两个指针,一个指向字符向量的开头,一个指向结尾。
2. 比较两个指针指向的字符是否相同,如果不同,则不是回文,直接返回 false。
3. 如果相同,则将两个指针向中间移动,重复执行步骤 2 直到指针相遇。
4. 如果指针相遇,说明字符向量是回文,返回 true。
具体实现代码如下:
```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
```
该算法时间复杂度为 O(n),其中 n 是字符向量的长度。
阅读全文