📅  最后修改于: 2023-12-03 14:50:48.287000             🧑  作者: Mango
ISRO CS 2018是国际空间研究组织举办的一个计算机科学竞赛。问题 21 是其中的一道题目。
题目:给定一个字符串,验证它是否为回文字符串。
函数签名:
def is_palindrome(s: str) -> bool:
pass
assert is_palindrome("level") == True
assert is_palindrome("algorithm") == False
回文字符串是指反转后仍然与原字符串相同的字符串。我们可以使用双指针方法来判断给定的字符串是否为回文字符串。
def is_palindrome(s: str) -> bool:
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 是字符串的长度。