用Python编写代码,判断一个字符串是否是回文字符串。
发布时间:2023-12-04 13:47:41
当一个字符串从左到右和从右到左分别读取都是相同的字符串时,我们称之为回文串。例如,“level”、“noon”和“madam”都是回文串。
下面是一个用Python编写的判断字符串是否为回文字符串的代码:
def is_palindrome(string):
# 将字符串转换为小写并删除空格
string = string.lower().replace(" ", "")
# 使用双指针法进行判断
left = 0
right = len(string) - 1
while left < right:
if string[left] != string[right]:
return False
left += 1
right -= 1
return True
# 使用例子
print(is_palindrome("level")) # 输出: True
print(is_palindrome("noon")) # 输出: True
print(is_palindrome("madam")) # 输出: True
print(is_palindrome("hello")) # 输出: False
在这个代码中,我们首先把字符串转换为小写并删除空格。之后,我们使用双指针法进行判断,从字符串的两端开始比较字符是否相等。如果发现不相等的字符,我们就返回False,否则,直到遍历完整个字符串,我们返回True。
使用例子中,我们分别检查了字符串"level"、"noon"、"madam"和"hello"是否是回文字符串。前三个字符串是回文字符串,返回True;而最后一个字符串不是回文字符串,返回False。
