用python编写函数接收一个字符串作为参数,判断该字符串是否为回文(正读和反读都一样的字符串),如果是则返回True,否则返回False。不允许使用切片
时间: 2024-09-18 13:03:51 浏览: 139
python简单算法04:判断一个字符串是否为回文串的排列之一
当然可以,下面是一个简单的Python函数,用于判断输入的字符串是否为回文,不使用切片操作:
```python
def is_palindrome(s):
# 将字符串转换成小写并去除空格
s = ''.join(c for c in s.lower() if c.isalnum())
# 定义两个指针,一个从前往后,一个从后往前
left, right = 0, len(s) - 1
while left < right:
# 如果左边的字符大于右边的字符,说明不是回文,返回False
if s[left] > s[right]:
return False
# 否则,比较两个字符是否相等,如果都不相等也不是回文,返回False
elif s[left] != s[right]:
return False
else:
# 相等就向中间移动指针
left += 1
right -= 1
# 如果遍历完字符串都没有返回False,则说明是回文,返回True
return True
# 测试函数
print(is_palindrome("A man a plan a canal Panama")) # 输出:True
print(is_palindrome("hello world")) # 输出:False
```
阅读全文