Python函数应用:如何检查字符串是否是回文
发布时间:2023-07-02 07:37:49
要检查一个字符串是否是回文,我们可以使用以下方法:
方法一:逆序比较
1. 定义一个函数is_palindrome,它接收一个字符串作为参数。
2. 使用切片操作将字符串反转,将反转后的字符串与原始字符串进行比较。
3. 如果反转后的字符串与原始字符串相等,则返回True,否则返回False。
例子:
def is_palindrome(s):
return s == s[::-1]
print(is_palindrome("abcba")) # True
print(is_palindrome("hello")) # False
方法二:迭代比较
1. 定义一个函数is_palindrome,它接收一个字符串作为参数。
2. 使用两个指针,一个指向字符串的开头,另一个指向字符串的末尾。
3. 每次比较指针指向的字符是否相等,然后将指针向中间移动。
4. 如果两个指针相遇,则说明字符串是回文,返回True,否则返回False。
例子:
def is_palindrome(s):
start = 0
end = len(s) - 1
while start < end:
if s[start] != s[end]:
return False
start += 1
end -= 1
return True
print(is_palindrome("abcba")) # True
print(is_palindrome("hello")) # False
这两种方法的时间复杂度都是O(n),其中n为字符串的长度。
