编写判断str是否为回文的函数体
时间: 2024-10-13 07:12:23 浏览: 18
编写一个判断字符串是否是回文的函数,通常可以采用双指针技术,即从字符串的两端开始向中间移动,同时比较对应位置的字符是否相等。这里是一个简单的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:
# 如果左右指针指向的字符不相等,则不是回文
if s[left] != s[right]:
return False
# 否则,左指针右移,右指针左移
left += 1
right -= 1
# 如果所有字符都检查过了,且没有发现不相等的,那么它是回文
return True
# 示例:
相关问题
C++编写判断str是否为回文的函数体
在C++中,判断字符串(str)是否为回文可以通过比较字符数组的第一个元素到倒数第一个元素,逐一对应位置的字符是否相等来实现。这里是一个简单的函数示例:
```cpp
#include <string>
bool isPalindrome(const std::string& str) {
int start = 0; // 从字符串开始
int end = str.length() - 1; // 从字符串末尾开始
while (start < end) { // 当两个指针未相遇时循环
if (str[start] != str[end]) { // 如果当前字符不等于对应反向字符
return false; // 回文则不成立,返回false
}
start++; // 向右移动开始位置
end--; // 向左移动结束位置
}
return true; // 所有字符匹配成功,说明是回文,返回true
}
```
这个函数接收一个`const std::string&`类型的引用作为参数,如果输入的字符串是回文,则返回`true`;反之,返回`false`。
阅读全文