欢迎访问宙启技术站
智能推送

用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