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

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为字符串的长度。