Python中使用函数来判断一个字符串是否为回文字符串的方法
发布时间:2023-05-20 17:17:48
回文字符串是指从左往右和从右往左读都是同一个字符串的字符串,比如“racecar”和“level”。在Python中,可以使用函数来判断一个字符串是否为回文字符串。
下面是判断一个字符串是否为回文字符串的函数的代码:
def isPalindrome(s):
# 使用双指针,i指向字符串的左端,j指向字符串的右端
i, j = 0, len(s) - 1
while i < j:
# 如果左端和右端的字符不相同,说明不是回文字符串,直接返回False
if s[i] != s[j]:
return False
# 左端指针右移,右端指针左移
i += 1
j -= 1
# 如果整个字符串都遍历完了,都没有发现不相同的字符,说明是回文字符串,返回True
return True
该函数接受一个字符串作为输入,使用双指针来遍历字符串的左半部分和右半部分,判断左端和右端的字符是否相同。如果发现不相同的字符,直接返回False,说明不是回文字符串。如果整个字符串都遍历完了,都没有发现不相同的字符,说明是回文字符串,返回True。
下面是使用该函数判断一个字符串是否为回文字符串的例子:
s = "racecar" print(isPalindrome(s)) # True s = "hello" print(isPalindrome(s)) # False
该例子中, 个字符串“racecar”是回文字符串,输出True;第二个字符串“hello”不是回文字符串,输出False。
该函数的时间复杂度是O(n),其中n是字符串的长度。因为该函数需要遍历字符串的一半,所以时间复杂度是线性的。
